收藏
回答

webview里调用wx.miniProgram.navigateTo偶尔不生效

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug webview 客户端 6.7.3 2.3.1

在ios中,webview里面调用wx.miniProgram.navigateTo偶尔不生效,签署完合同之后,跳转到小程序内部的支付页面,有时候不能自动跳转,并且之后点击按钮多次,仍不能触发跳转。


在h5页面打印出来wx.miniProgram 是有对象存在的,但是wx.miniProgram.navigateTo就是偶尔不跳转,一般重复5次以内必有一次不跳转。


现在这个问题已经影响到公司业务发展了,合同签署之后不能直接付款,还要用户手动返回,再在付款入口去付款,体验很差。


(ps:这个功能线上之前一直在用,并且是好的,微信近几个月的新版本是不是修改了什么导致了这个问题?)

最后一次编辑于  2018-10-25
回答关注问题邀请回答
收藏

4 个回答

  • 王翊夫if
    王翊夫if
    2018-11-07

    问题总结:

    开发者页面中的 web-view 组件加载后,加载下个 URL 对应的页面中,带有独立的 iframe, iframe 的加载有一定概率会引发 iOS微信上 web-view 组件错过注入 JSBridge 的时机,导致 wx.miniProgram 及其他 JSSDK api 调用无反应。

    解决方案:

    1. iOS 微信预计在 6.7.5 版本修复该问题;

    2. 在这之前带有 iframe,并偶现该问题的页面,可尝试页面加载时延迟加载 iframe

    3. 若 web-view 组件上有问题的 URL 中,并没有带上 fragment ,可尝试带上 #wechat_redirect ,如 https://developers.weixin.qq.com/community/develop/doc/0006882d318250280397f77645b000#wechat_redirect,通过同步注入 JSBridge 来解决这个问题(会增加页面大约 200ms 的加载耗时)

    2018-11-07
    有用 2
    回复 4
    • 66
      66
      2018-11-08

      问题解决了,多谢大神指导!

      2018-11-08
      回复
    • 匿名军团9号
      匿名军团9号
      2019-07-18回复66
      请问你是怎么解决的?我的小程序也是这样的情况
      2019-07-18
      回复
    • 肆意不易
      肆意不易
      2022-01-12
      没用 苹果手机还是无法跳转
      2022-01-12
      回复
    • zw
      zw
      06-27
      我调用wx.miniprogram.navigateTo时报错,除了加入下面的代码,还需要其他的配置吗
      06-27
      回复
  • 飘尘
    飘尘
    2018-10-27

    我在电脑上调试都跳转不到小程序,报错原因是:无法读取属性:“navigateTo”,请问您知道是因为什么原因吗???

    2018-10-27
    有用 2
    回复 5
    • 66
      66
      2018-10-27

      电脑上我没有出现,你有引入jssdk吗?

      2018-10-27
      回复
    • 飘尘
      飘尘
      2018-10-27回复66

      引入jssdk我只在html里面加了一句话:

      <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

      可以吗?还是需要配置什么呢??

      2018-10-27
      回复
    • 66
      66
      2018-10-27

      可以的,可以截图看下你的调用方式吗,这样不好定位问题

      2018-10-27
      回复
    • 飘尘
      飘尘
      2018-10-27回复66

      如下,首先判断h5是否在小程序环境内,如果h5在小程序环境,当用户按下了支付按钮后,就跳转到小程序自己的支付页面(pay),自己的支付页面已经调试成功,可以支付。

      2018-10-27
      回复
    • 66
      66
      2018-10-29回复飘尘


      不要有alert,我也试过有alert就不会跳转了

      2018-10-29
      回复
  • 春哥
    春哥
    2018-10-26

    我的h5里也偶然出现,我的拦截返回的是这个错误,怀疑是jssdk没有初始化完成导致的,有什么解决办法么

    2018-10-26
    有用 1
    回复 1
    • 66
      66
      2018-10-26

      你用什么工具拦截的?

      2018-10-26
      回复
  • 灵芝
    灵芝
    2018-10-25

    报错信息是什么?提供一下能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2018-10-25
    有用
    回复 27
    • 66
      66
      2018-10-25

      关键是没有报任何错,只是微信没有响应跳转事件

      2018-10-25
      回复
    • 66
      66
      2018-10-25

      这个只在ios真机上出现,开发者工具试了很多次都是没有问题的,真机上有什么方法调试webview页面么,在h5页面调用wx.miniProgram.navigateTo 之前有alert也不会触发跳转,但是我用console.log在真机上又看不到调试信息

      2018-10-25
      回复
    • 灵芝
      灵芝
      2018-10-25回复66

      麻烦上传一下日志 在 我->设置->帮助与反馈右上角有个上报日志的入口, 麻烦提供一下微信号以及出问题的具体日期和时间

      2018-10-25
      1
      回复
    • 66
      66
      2018-10-25

      日志已上传

      2018-10-25
      回复
    • 66
      66
      2018-10-25

      具体时间在今天上午10点之后到下午3点,因为这段时间一直在调试,经常签署几个单之后就不行了

      2018-10-25
      回复
    查看更多(22)
登录 后发表内容