通常狀況下,微信的js-sdk只須要直接引用script便可javascript
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
可是有的時候,當咱們的網頁訪問的環境多樣的時候,好比APP內部,手機瀏覽器時候,並不須要引用這個jsjava
甚至都不須要初始化微信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函數裏面一般就是獲取簽名和初始化wxapp
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對象須要後端支持返回簽名結果。函數
以上只是部分代碼,僅供參考!this