[微信] iOS 上 js-sdk 签名失败的问题可否修一下
資深大佬 : learnshare 59
Google: ios 微信 jssdk 签名失败
(同一个 url 仅需调用一次,对于变化 url 的 SPA 的 web app 可在每次 url 变化时进行调用,目前 Android 微信客户端不支持 pushState 的 H5 新特性,所以使用 pushState 来实现 web app 的页面会导致签名失败,此问题会在 Android6.2 中修复)
具体原因:iOS 微信浏览器中使用 window.location.href 获得的 URL 与当前 URL 不同
测试环境:微信 iOS 7.0.8
浏览器 UA:Mozilla/5.0 (iPad; CPU OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.8(0x17000820) NetType/WIFI Language/zh_CN
Web 应用:Vue + vue-router,mode: ‘history’,jweixin-1.4.0.js
从 https://www.zhihu.com/question/59388458/log 可以发现,该问题已经存在两年半以上了。更早之前微信浏览器对 pushState 支持更差,导致分享和支付必须使用两种不同的 history mode。
大佬有話說 (4)