6***@qq.com
6***@qq.com
  • 发布:2019-09-27 11:39
  • 更新:2022-10-01 11:45
  • 阅读:1285

【报Bug】webview api appendJsFile 或 setJsFile 注入跳转丢失BUG

分类:5+ SDK

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
uni-app 中使用API 方式调用webview 接口,使用 appendJsFile 或 setJsFile 等注入脚本后,如果发生页面内跳转,则 IOS 端注入的脚本将无效,安卓端可以;另外如果改为在onloaded中每次都注入,那么都将执行2次;

[内容]
wv = plus.webview.create('http://aa.xxx.cn/', "custom-webview",{top:'166px',bottom:0})
wv.setJsFile('_www/hybrid/html/cus-webviewpage.js');
wv.evalJS('alert("evalJS-3: "+location.href);');

  wv.onloaded=function(e){  

    //wv.setJsFile('_www/hybrid/html/cus-webviewpage.js');  
    //wv.evalJS('alert("evalJS-5: "+location.href);');  

  };  

[步骤]

[结果]

uni-app 中使用API 方式调用webview 接口,使用 appendJsFile 或 setJsFile 等注入脚本后,如果发生页面内跳转,则 IOS 端注入的脚本将无效,安卓端可以;另外如果改为在onloaded中每次都注入,那么都将执行2次;

[期望]
预加载JS文件不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号] HBuilderX 2.3.3

[windows版本号] win10

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
app

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建的

[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式

App运行环境说明

[Android版本号]

[iOS版本号] 12.4.1

[手机型号] iPhone 8

[模拟器型号] 真机

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-09-27 11:39 负责人:无 分享
已邀请:
DCloud_IOS_XTY

DCloud_IOS_XTY

跳转后不执行这个应该和页面的跳转方式有关系,请提供下页面地址
onload 中再注入,上次注入的已经执行了会有两遍

  • 6***@qq.com (作者)

    您好,首先感谢您的回复。我后来做个个demo测试了下,通过 a 标签的方式是可以的,但是通过 js history.back history.go(-1) 方式,IOS就不行,,安卓的可以;

    2019-10-21 16:14

b***@gmail.com

b***@gmail.com

webview.appendJsFile('jquery.js');
奇怪了,我不管怎么注入,都无效,

要回复问题请先登录注册