首页 > 代码库 > 微信官方非官方JS使用总结
微信官方非官方JS使用总结
###转发到朋友、朋友圈
1. 用最原生的方式书写(seajs封装过,发现偶尔加载有异常,加载内置WeixinJSBridgeReady对象不成功,估计是内置对象加载与seajs加载顺序有关系)
1. 转发时假如显示没审核应用的话,去掉appid即可
1. 只能用图片等素材诱导用户点击右上角菜单栏分享操作
```
<script type="text/javascript">
//微信分享
var wxData = http://www.mamicode.com/{
title: ‘${company.name}‘,//标题
img_url: ‘${basePath}${company.picture}‘,//引用图片地址
desc: ‘${company.introduction}‘,//简介
link: ‘${basePath}${company.staticFilePath}‘//链接地址
}
//当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件
document.addEventListener(‘WeixinJSBridgeReady‘, function onBridgeReady() {
// 发送给好友
WeixinJSBridge.on(‘menu:share:appmessage‘, function(argv) {
WeixinJSBridge.invoke(‘sendAppMessage‘, {
title: wxData.title,
img_url: wxData.img_url,
desc: wxData.desc,
link: wxData.link,
img_width: ‘640‘,
img_height: ‘640‘
}, function(resp) {
});
});
// 分享到朋友圈
WeixinJSBridge.on(‘menu:share:timeline‘, function(argv) {
WeixinJSBridge.invoke(‘shareTimeline‘, {
title: wxData.title,
img_url: wxData.img_url,
desc: wxData.desc,
link: wxData.link,
img_width: ‘640‘,
img_height: ‘640‘
}, function(resp) {
});
});
}, false);
</script>
```
###拦截部分页面不显示右上角菜单按钮
1. 以下代码可放到公共引入文件(我这用到JSP技术,故弄到head.jsp,然后各自页面<%@include file="/common/headMobile.jsp" %>)
2. 通过代码获取当前页面的访问路径,进行正则匹配
```
<c:set var="url" value="http://www.mamicode.com/${pageContext.request.requestURL }" />
var url = ‘${url}‘;
console.log(‘页面访问url:‘ + url);
//当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件
document.addEventListener(‘WeixinJSBridgeReady‘, function onBridgeReady() {
//默认隐藏微信右上角菜单按钮
WeixinJSBridge.call(‘hideOptionMenu‘);
//除了文章、产品、优惠活动,其他页面都要屏蔽右上角按钮
var rgExp = /\(Company|company|News|news|Product|product|Promotion|promotion\)/gi;
if(url.match(rgExp)){
WeixinJSBridge.call(‘showOptionMenu‘);
}
}, false);
```
微信官方非官方JS使用总结