let nw = plus.webview.create();
nw.setJsFile('test.js');
nw.evalJS("使用setJsFile的方法")
- 发布:2023-08-30 16:09
- 更新:2023-12-07 11:39
- 阅读:446
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: window7
HBuilderX类型: 正式
HBuilderX版本号: 3.8.12
手机系统: Android
手机系统版本号: Android 14
手机厂商: 华为
手机机型: test
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
需要使用方法,或是能帮我解决app通讯的问题。
需要使用方法,或是能帮我解决app通讯的问题。
实际结果:
需要使用方法,或是能帮我解决app通讯的问题。
需要使用方法,或是能帮我解决app通讯的问题。
bug描述:
let nw = plus.webview.create();
nw.setJsFile('test.js');
nw.evalJS("使用setJsFile的方法")
咨询下setJsFile 设置js文件后,不能在evalJS里面使用 setJSFile 里的方法嘛,我一使用就报Uncaught ReferenceError: receiveData is not defined
看setJsFile方法说明
预加载JS文件不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载。 设置新的JS文件后将清空之前设置的值。
你光设置了JS,但是没加载网页,它也没用啊
即使不显示页面,你也应该调用loadURL加载个网页
nw = plus.webview.create();
nw.setJsFile('/static/addFunc.js') // 注意路径要放对
nw.loadURL('https://baidu.com') //加载个网页
然后,再在方法中调用试试
看文档注意这部分
_roc_ (作者)
有加载网页了,我只是写了示例出来而已。网页都显示出来再进行调用的,不然我怎么知道不能用方法呢
2023-09-04 09:44
w***@gmail.com
回复 _roc_: 那不行先简单调个alert试试看能不能弹窗,如果能就说明自己写的这个js没加载进去
2023-09-04 09:49
_roc_ (作者)
回复 w***@gmail.com: 功能都能使用就是 setJsFile 的函数和 evalJs 不能调用setJsFile 里的方法
2023-09-04 10:02
w***@gmail.com
回复 _roc_: 那可能就是加载路径问题了,先放static目录下试试吧
2023-09-04 10:08
_roc_ (作者)
回复 w***@gmail.com: 好的谢谢
2023-09-04 14:17