微信js sdk動態引用

通常狀況下,微信的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

相關文章
相關標籤/搜索