一般情况下,微信的js-sdk只需要直接引用script即可
但是有的时候,当我们的网页访问的环境多样的时候,比如APP内部,手机浏览器时候,并不需要引用这个js
甚至都不需要初始化微信js-sdk的环境:例如签名等操作
那么首先得区分一下当前的网页环境是否是微信浏览器,如下:
/*** 是否是微信浏览器内*/IsWeiXinBrowser() {var ua = navigator.userAgent.toLowerCase();var isWeixin = ua.indexOf("micromessenger") != -1;if (isWeixin) {return true;} else {return false;}}
然后,再加载微信的js-sdk
if (this.IsWeiXinBrowser) {var script = document.createElement("script");script.type = "text/javascript";script.src = "https://res.wx.qq.com/open/js/jweixin-1.2.0.js";document.getElementsByTagName("head")[0].appendChild(script);script.onload = () => {// 需要初始化sdk环境,等等... };}
onload函数里面通常就是获取签名和初始化wx
let wxConfig = {debug: false,appId: config.appId,timestamp: config.timestamp,nonceStr: config.nonceStr,signature: config.signature,jsApiList: ["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo"]};wx.config(wxConfig);
这里贴一段初始化分享功能的代码,其他功能请参考sdk文档,config对象需要后端支持返回签名结果。
以上只是部分代码,仅供参考!