PHP开发工程师@温州。博客关于:技术、生活、读书、互联网。

微信内置浏览器的Js API

最近做了几个微信微网站的小项目,这里整理下微信内置浏览器的几个Js API。





//当页面加载完毕后执行

if (document.addEventListener) {

                  document.addEventListener('WeixinJSBridgeReady',function(){});

} else if (document.attachEvent) {

                document.attachEvent('WeixinJSBridgeReady', function(){);

                document.attachEvent('onWeixinJSBridgeReady', function(){});

}


//显示右上角选项按钮

WeixinJSBridge.call('showOptionMenu');


//隐藏网页右上角的按钮

WeixinJSBridge.call('hideOptionMenu');


//显示底部工具栏

WeixinJSBridge.call('showToolbar');


//隐藏底部工具栏

WeixinJSBridge.call('hideToolbar');


//关闭当前页面

WeixinJSBridge.call("closeWindow");


//获取网络状态

WeixinJSBridge.invoke('getNetworkType', {}, function (e) {

              // 在这里拿到e.err_msg,这里面包含了所有的网络类型

              //network_type:wifi     wifi网络

             //network_type:edge     非wifi,包含3G/2G

             //network_type:fail     网络断开连接

             //network_type:wwan     2g或者3g

             console.log(e.err_msg);

 });



//调起微信Native的图片播放组件。

var curSrc = "1.png",srcList=["1.png","2.png","3.png"];

WeixinJSBridge.invoke('imagePreview', {

            'current' : curSrc,

            'urls' : srcList

 });

还有一种方法,直接a标签实现就行,具体格式:<a href="weixin://viewimage/`ImageURL`">XXX</a>



//分享到微信朋友圈

var data = {"img_url":"https://img0.bdstatic.com/img/image/shouye/mnxz-11447124113.jpg","link":"https://baidu.com","desc":"描述","title":"标题"};

WeixinJSBridge.on('menu:share:timeline', function (argv) {

                WeixinJSBridge.invoke('shareTimeline',{

                    "appid": data.appid ? data.appid : '',

                    "img_url":data.img_url,

                    "link":data.link,

                    "desc":data.desc,

                    "title":data.title, 

                    "img_width":"120",

                    "img_height":"120"

                }, function(resp) {

                    switch (resp.err_msg) {

                        case 'share_timeline:cancel':

                            //用户取消

                            break;

                        case 'share_timeline:confirm':

                        case 'share_timeline:ok':

                            // send_app_msg:confirm 发送成功

                            break;

                        case 'share_timeline:fail':

                        default:

                             // send_app_msg:fail 发送失败

                            break;

                    }

                });

});


//发送给微信上的好友

var data = {"img_url":"https://img0.bdstatic.com/img/image/shouye/mnxz-11447124113.jpg","link":"https://baidu.com","desc":"描述","title":"标题"};

WeixinJSBridge.on('menu:share:appmessage', function (argv) {

            WeixinJSBridge.invoke('sendAppMessage',{

                "appid": data.appid ? data.appid : '',

                "img_url":data.img_url,

                "link":data.link,

                "desc":data.desc,

                "title":data.title, 

                "img_width":"120",

                "img_height":"120"

            }, function(resp) {

                //回调函数,同上。

            });

});


// 分享到腾讯微博

额。。 腾讯微博即将入土为安,不写了。。





//其他:

常用的就这几个函数了,还有几个需要特殊权限的就不写了,如需要微信认证才能使用等。

我把代码分装了下,上传到github了。

https://github.com/iScript/some-code/blob/master/WxApi.js






评论
热度 ( 1 )

© yuankeqiang | Powered by LOFTER