首页 > 代码库 > 微信官方非官方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使用总结