3***@qq.com
3***@qq.com
  • 发布:2016-11-21 11:05
  • 更新:2016-11-21 11:07
  • 阅读:2305

evalJS在ios环境第一次不执行

分类:5+ SDK
iOS

详细问题描述
[内容]
在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");  
});
2016-11-21 11:05 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

该问题目前已经被锁定, 无法添加新回复