App嵌入H5页面 创建webView注入的JsBridge失效问题

问题描述:App中嵌入h5页面,调起app native之后返回h5页面 此时刷新页面(如支付点击已完成未完成)注入的jsBridge失效 流程如下图:

Paste_Image.png
  • 在第0步中app创建webView并且注入jsBridge(用于h5 js调起native方法)
  • 在第1步中调用jsBridge调起收银台的方法 唤起一个native页面
  • 在第2步中无论支付成功失败,点击返回至订单详情,出现弹框确认是否支付完成
  • 在第3步中点击完成按钮 刷新页面 更新订单状态

导致结果: jsBridge失效 如果没有支付完成的话 再次支付 无法调起收银台


提出解决方案(两种)


第一种

  1. 在返回至H5页面是 点击调用window.location.reload()方法
  2. app去抓取reload()方法
  3. 调用app的reload方法(销毁原有webView 创建新的webView 注入JsBridge)

第二种
a. jsBridge提供reload方法(做的事件就是reload整个webView,即上面说的ios自刷新的功能)
b. 在返回至H5页面是 点击调用jsBridge.reload()方法

如下图所示:

Paste_Image.png

结论:画出流程图很明显第二种方案要优秀一点 根据目的来选择解决方案

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,084评论 25 709
  • 前言 总结 Android WebView 常用的相关知识点,令包含以下干货内容分析:Js注入漏洞、WebView...
    無名小子的杂货铺阅读 70,072评论 17 169
  • 今年二十四节气中最后一个节气——大寒,马上就到了,也是我国大部分地区风大、最冷的一天,也是我母亲的祭日。身处北方远...
    碧海青天2017阅读 2,435评论 1 2
  • 最近看到一句扎心的话:一个宿舍6个女生,能有5个群。 但其实从排列组合的角度来说,6个女生,可以有42个群。 如果...
    华姐有话说阅读 6,972评论 0 0
  • 文/枯蝉 你是白雪 你是白雪 一边跳舞 一边摔碎下来 你是白雪 你是白雪 一面冷漠 一面流出眼泪
    枯蝉阅读 2,286评论 0 0

友情链接更多精彩内容