本文汇总了微信JSBridge的常用开发方法,涵盖图片集左右滑动预览、关闭窗口、分享链接至朋友和朋友圈、隐藏右上角按钮及底部导航栏等功能。通过具体代码示例,介绍了WeixinJSBridge和WeixinJsBridge的调用方式,帮助开发者快速实现微信内置浏览器的高级交互功能。
微信JSBridge常用功能开发指南:图片预览、分享与界面控制
1.实现网页图片集左右滑动查看功能,示例如下:
JavaScript效果
代码实现如下:
var pictures = [];
angular.forEach(pitctures,function(k,i){
pictures[i] = k.imgPath;
});
$scope.previewPics = function(currentUrl){
if (typeof window.WeixinJSBridge != 'undefined') {
//调用微信图片预览功能
WeixinJSBridge.invoke('imagePreview', {
'current':currentUrl, //指定当前查看的图片地址
'urls':pictures //指定图片组列表
});
} else {
alert( "请在微信中查看", null, function () {});
}
}
页面HTML元素结构:
代码实现如下:
<div class="infoPics">
<div class="picImg" ng-repeat="picture in info.infoContent.pitctures">
<img ng-src="{{picture.imgPath}}" ng-click="previewPics(picture.imgPath)">
</div>
</div>
微信窗口关闭事件处理
2.处理微信窗口关闭事件,实例如下:
代码实现如下:
WeixinJSBridge.invoke('closeWindow',{},function(res){
//alert(res.err_msg);
});
网页链接分享功能实现
3.实现网页链接分享至朋友、朋友圈及微博的功能
代码实现如下:
var lineLink = 'http://../..',
imgUrl = 'http://../..',
shareTitle = '页面标题',
descContent='内容简介',
appid = '';
//检测是否支持微信JS接口
if(typeof WeixinJsBridge == 'undefined'){
if(document.addEventListener){
document.addEventListener('WeixinJsBridgeReady',onBridgeReady,false);
}else if(document.attachEvent){
document.attachEvent('WeixinJsBridgeReady',onBridgeReady);
document.attachEvent('onWeixinJsBridgeReady',onBridgeReady);
}
}else{
onBridgeReady();
}
function onBridgeReady (){
WeixinJsBridgeReady.on('menu:share:appmessage',wx_shareFriend);//绑定分享给朋友事件
WeixinJsBridgeReady.on('menu:share:timeline',wx_shareTimeline);//绑定分享到朋友圈事件
WeixinJsBridgeReady.on('menu:share:weibo',wx_shareWeibo);//绑定分享到微博事件
}
function wx_shareFriend (){
WeixinJsBridge.invoke('sendAppMessage',{
"appid":appid,
"img_url":imgurl,
"img_width":'640',
"img_height":'500',
"link":lineLink,
"desc":descContent,
"title":shareTitle
},function(res){
console.log(res.err_msg);
}
});
}
function wx_shareTimeline (){
WeixinJsBridge.invoke('sendTimeline',{
"appid":appid,
"img_url":imgurl,
"img_width":'640',
"img_height":'500',
"link":lineLink,
"desc":descContent,
"title":shareTitle
},function(res){
console.log(res.err_msg);
}
})
}
function wx_shareWeibo (){
WeixinJsBridge.invoke('sendWeibo',{
"appid":appid,
"img_url":imgurl,
"img_width":'640',
"img_height":'500',
"link":lineLink,
"desc":descContent,
"title":shareTitle
},function(res){
console.log(res.err_msg);
}
})
}
网页界面元素控制与网络状态获取
4.隐藏网页右上角菜单按钮
代码实现如下:
WeixinJsBridge.call('hideOptionMenu');
5.隐藏网页底部导航栏
代码实现如下:
WeixinJsBridge.call('hideToolbar');
6.获取当前设备网络连接类型:
代码实现如下:
WeixinJsBridge.invoke('getNetworkType',{},function(e){
console.log(e.err_msg);
})
7.禁止用户执行分享操作
代码实现如下:
WeixinJsBridge.invoke('disabledShare',{},function(e){
})
8.判断当前页面是否在微信内置浏览器中打开
代码实现如下:
// 返回 true 或 false
var flag = WeixinApi.openInWeixin();
以上8条即为本文分享的全部内容,希望对微信开发有所帮助。