V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
learnshare
V2EX  ›  全球工单系统

[微信] iOS 上 js-sdk 签名失败的问题可否修一下

  •  
  •   learnshare · 2020-01-07 10:35:11 +08:00 · 1903 次点击
    这是一个创建于 1583 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条回复    2020-01-07 11:52:22 +08:00
    airyland
        1
    airyland  
       2020-01-07 10:59:41 +08:00
    微信的 SDK 没有 “开发者友好” 这一说,一直是让开发者去 hack,去用花费时间的方法绕过问题。之前支付的目录问题导致了单应用无法实现真正单应用,要跳转到新页面。
    learnshare
        2
    learnshare  
    OP
       2020-01-07 11:48:05 +08:00
    @airyland 虽然对开发者不友好,但做不做微信相关的开发并不由开发者自己决定

    那么腾讯的开发者为何要为难自家兄弟?
    quan01994
        3
    quan01994  
       2020-01-07 11:49:49 +08:00
    你需要 store 里保存进入的地址就行了,
    learnshare
        4
    learnshare  
    OP
       2020-01-07 11:52:22 +08:00
    @quan01994 不是没有 hack 的方法,只是需要发工单提醒一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1060 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:31 · PVG 04:31 · LAX 13:31 · JFK 16:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.