涉及代码块
mui3.2,$.openWindow方法体里
if (options.createNew !== true) {
webview = plus.webview.getWebviewById(id);
if (webview) { //如果已存在
nShow = $.showOptions(options.show);
nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
triggerPreload(webview);
trigger(webview, 'pagebeforeshow', false);
});
return webview;
} else {
if (!url) {
throw new Error('webview[' + id + '] does not exist');
}
}
}
发现问题
在nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function(){});
代码行中,出现了showBC回调不成功的问题,问题出现在ios,安卓没有该问题
重现方法
存在界面ABCD,按如下顺序依次打开,A -> B -> C -> D -> B
会发现在ios环境中,当A->B时,B界面响应了pagebeforeshow事件
而D->B时,B界面却没有响应pagebeforeshow事件(因为showBC回调不成功,导致没有执行trigger(webview, 'pagebeforeshow', false)语句);
冰冻
这个问题修复了没?
2016-12-03 05:20
2***@qq.com
还没修复呢?plus.webview.show( 'main', 'pop-in', 0, function(){console.log('haha')}),function不管用,main是预加载的页面,main能打开就是function不执行
2018-01-02 15:25
Neil_HL
回复 2***@qq.com:我试过了,是能执行的,你试试升级HBuilder或者在帖子上传个demo我看看
2018-01-02 16:20