微信支付 WeixinJSBridge is not defined 報錯

 

    1. 我沒有用到微信JS-SDK或者接口都正確返回預支付id都正確, 爲何會報這個錯呢?
      答: 微信內置瀏覽器會有WeixinJSBridge ,可是須要必定的加載時間。php

    2. 我使用了微信JS-SDK, 可是爲何會出錯呢?
      答: 微信webview注入鉤子有時序問題:在WeixinJSBridge 還未注入以前,就已經成功注入其它依賴於WeixinJSBridge 的其它XX模塊。在XX模塊中調用WeixinJSBridge 就會失敗。html

      如何解決

      若是你開發一款移動應用,必不可少要考慮分享到微信的功能;若是你開發網頁,那麼用戶之間的分享更多的也是經過微信。那麼這個問題到底有多嚴重,如何解決也變得相當重要。java

      • 若是網頁中未使用微信JS-SDK, 用戶在微信中打開網站可能會觸發這個錯誤,目前看來只有忽略。由於是微信JS-SDK自身的問題,咱們也沒法控制。git

      • 關於微信支付github

        • 方法一: 改成監聽ready事件以後再進行下一步操做web

          if (typeof window.WeixinJSBridge == "undefined"){segmentfault

        • $(document).on('WeixinJSBridgeReady',function(){ })
          •  //你的代碼
        • }
        • 方法二: 直接使用JS-SDK文檔中的支付代碼,不要使用公衆號支付文檔裏面的代碼。參考: 微信支付瀏覽器

      後記: 關於這個問題的帖子從2014年開始就有了,然而到如今依然存在,可見一直沒有修復好!微信

      參考連接

      [1]微信支付: https://mp.weixin.qq.com/wiki...
      [2] Uncaught ReferenceError: WeixinJSBridge is not defined: http://www.henkuai.com/forum....
      [3] Uncaught ReferenceError: WeixinJSBridge is not defined問題: http://www.henkuai.com/thread...
      [4] 微信支付問題:Uncaught ReferenceError: WeixinJSBridge is not defined: http://www.java-bbs.com/threa...
      [5] 傳說中的WeixinJSBridge和微信rest接口: http://bbs.blueidea.com/threa...
      [6] 監聽wxbridge加載後再喚起微信支付: https://github.com/whq731/mob...                   ide

相關文章
相關標籤/搜索