最近做了几个微信微网站的小项目,这里整理下微信内置浏览器的几个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
© yuankeqiang | Powered by LOFTER