小巽
小巽
  • 发布:2016-07-14 00:11
  • 更新:2016-07-14 12:14
  • 阅读:2048

【报Bug】ios中,已存在的webview执行show,结果showedCB不回调

分类:5+ SDK

涉及代码块
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-07-14 00:11 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

确认是5+ runtime的bug,正在修正,请稍等

  • 冰冻

    这个问题修复了没?


    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

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