收藏
回答

webview跳转到原生,操作完毕后返回webview并刷新问题

 RT

webview跳转进入原生页面,原生操作完毕后返回webview,并且需要webview能更新状态,刷新。


webview =>原生

webview(刷新)<=原生(操作完毕)


网上看了很多办法,


1.也是目前用的 就是pages修改上一页webview的url先为空或者其他的,再改回原来的url,并且延迟了1秒后跳转



开发者工具始终是没问题的,真机就算是同一台手机,有时候却会保留webview url变化的记录,就是返回webview之后,再点左上角返回,并没有返回webview上级的原生页面,而是变成退回url为空时的空白,再点一次返回回到进入源生操作前的url页面。


webview(原始)=>原生


大多数的正确情况:


原生(操作完毕)=>webview(新状态)=>上级页面


出现的问题情况:


原生(操作完毕) => webview(新状态) => webview(空白 url为'') => webview(操作前) => 上级页面


2.还有看过别人直接在webview的page中,onshow里面直接调用onload这种方法,这个我还没有实际试过



感觉这些方法都不能说完美,或多或少都会有问题


我想知道各位实际中是如何完美处理的


最后一次编辑于  2018-09-03  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • Youni
    Youni
    2018-11-23

    用了楼主wx:if判断方法,可用

    2018-11-23
    赞同
    回复
  • 祺爸💎
    祺爸💎
    2018-09-03

    2应该是比较合适的做法

    po主“感觉这些方法都不能说完美,或多或少都会有问题。不能只凭感觉,请先自行思考一下,具体会有什么问题,说出来大家讨论一下

    2018-09-03
    赞同
    回复 1
    • 单纯明快
      单纯明快
      2018-09-03

      1那种方法是我的问题,不管怎么修改webview的url都会生成history。现在做法是给webview标签加上wx:if判断url是否为‘’,这样先设为‘’去销毁组件,这样就销毁了所有history,然后再给实际的url就行了,不过第二次给url要给个延迟。

      2018-09-03
      回复