详细问题描述
[内容]
在ios平台,执行plus.webview.create建立的页面,第一次执行evalJS方法不会生效(可能跟时机有关系);之后执行均生效。安卓平台无此问题。请指明evalJS的明确可调用时机。如果是要等待plusReady什么的,那么执行plus.webview.create建立的页面如何知道已经plusReady,才能安全的保证evalJS能被有效执行。
重现步骤
[步骤]
在ios平台,执行plus.webview.create建立的页面,此页面执行evalJS方法
[结果]
第一次无效也无任何报错提示,第二次有效;
[期望]
应都有效;
运行环境
[系统版本]
ios 9.2
[浏览器版本]
[IDE版本]
7.5.1
[mui版本]
- Mui v3.4.0 (http://dev.dcloud.net.cn/mui)
附件
[代码片段]
//btn1第一次点击无任何相应,要第二次点击才会alert('333');安卓上第一次就正常。
mui.init();
mui.plusReady(function() {
document.getElementById("btn1").addEventListener("tap", function() {
var view = plus.webview.getWebviewById("newP");
if(view == null) {
console.log("is null");
view = plus.webview.create("newP.html", "newP");
} else {
console.log("not null");
}
console.log("eval......");
view.evalJS("alert('333');"); //ios第一次点击不会执行,第二次才执行;安卓完全正常
console.log("eval......end");
});
console.log("plusready now");
});