在微信浏览器中执行js: typeof(WeixinJSBridge) 为啥是undefined呢 页面需要引入啥js么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在微信浏览器中执行js: typeof(WeixinJSBridge) 为啥是undefined呢 页面需要引入啥js么?相关的知识,希望对你有一定的参考价值。

WeixinJSBridge不是内置在微信浏览器的么。

不需要引用js,但是你要这么写:

if (typeof WeixinJSBridge == "undefined") 
    if (document.addEventListener) 
        document.addEventListener('WeixinJSBridgeReady', wxPayCall, false);
     else if (document.attachEvent) 
        document.attachEvent('WeixinJSBridgeReady', wxPayCall);
        document.attachEvent('onWeixinJSBridgeReady', wxPayCall);
    

你要在注册一下WeixinJSBridgeReady这个事件

参考技术A

不需要引用js,但是你要这么写:

if (typeof WeixinJSBridge == "undefined")

if (document.addEventListener)

document.addEventListener('WeixinJSBridgeReady', wxPayCall, false);

else if (document.attachEvent)

document.attachEvent('WeixinJSBridgeReady', wxPayCall);

document.attachEvent('onWeixinJSBridgeReady', wxPayCall);

你要在注册一下WeixinJSBridgeReady

    不需要引入js

    现在已经被禁用了

    function weixinShareTimeline(title,desc,link,imgUrl)

    WeixinJSBridge.invoke('shareTimeline',

    "img_url":imgUrl,

    //"img_width":"640",

    //"img_height":"640",

    "link":link,

    "desc": desc,

    "title":title

js实现在微信中唤起本地APP

使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等。网上流传的各种微信打开下载链接,微信一更新基本失效。大家常用的方法是,弹出一个遮罩提示用户在新的浏览器窗口打开,再也不用管微信如何的更新。

直接判断微信的ua,如果是在微信内置浏览器中打开,弹出一个遮罩提示用户在浏览器中打开下载,并且不加关闭的按钮。这样子用户就只能在浏览器中打开,并且可以直接下载应用了。

技术图片

css代码

<style type="text/css">
    *
        margin:0; 
        padding:0;
    
    a
        text-decoration: none;
    
    img
        max-width: 100%; 
        height: auto;
    
    .weixin-tip
        display: none; 
        position: fixed; 
        left:0; 
        top:0; 
        bottom:0; 
        background: rgba(0,0,0,0.8); 
        filter:alpha(opacity=80);  
        height: 100%; 
        width: 100%; 
        z-index: 100;
    
    .weixin-tip p
        text-align: center; 
        margin-top: 10%; 
        padding:0 5%;
    
</style>

 

HTML 代码

<div class="weixin-tip">
    <p>
        <img src="live_weixin.png" alt="微信打开"/>
    </p>
</div>

 

JS代码

<script type="text/javascript">
    $(window).on("load",function()
        var winHeight = $(window).height();
        function is_weixin() 
            var ua = navigator.userAgent.toLowerCase();
            if (ua.match(/MicroMessenger/i) == "micromessenger") 
                return true;
             else 
                return false;
            
        
        var isWeixin = is_weixin();
        if(isWeixin)
            $(".weixin-tip").css("height",winHeight);
            $(".weixin-tip").show();
        
    )
</script>

 

有个herl工具,是可以在微信中自动打开手机浏览器下载APP。

  1、herl工具网址:http://www.fishtool.cn

  2、填写下载的apk的地址,或者下载页链接

  3、点击一键生成,会自动生成二维码和一个链接地址(两个是同一个地址,根据你的需要选择)

  4、生成的二维码或者链接,用微信扫一扫或者用微信打开连接,就可以测试了效果了

 

  如果大家有更好的解决方案或者工具,欢迎推荐分享!

 

以上是关于在微信浏览器中执行js: typeof(WeixinJSBridge) 为啥是undefined呢 页面需要引入啥js么?的主要内容,如果未能解决你的问题,请参考以下文章

js判断是否在微信浏览器中打开

JS判断是否在微信浏览器打开

JS判断是否在微信浏览器打开

js判断是否在微信浏览器中打开

在微信小程序环境下,获取window对象

在微信浏览器中如何让他自动关闭当前页面回到会话框js