追逐者
追逐者
  • 发布:2015-11-18 18:19
  • 更新:2015-11-19 15:31
  • 阅读:3310

双webview和遮罩蒙版

分类:MUI

父webview

    this.mask = mui.createMask(function(){  
    plus.webview.currentWebview().children()[0].evalJS("window.myChess.closemask()");//关闭子页面蒙版  
            });
function showmask(){  
this.mask.show();  
}

子webview

this.mask = mui.createMask(function() {  
    plus.webview.currentWebview().parent().evalJS("window.createOnline.maskClose()");//关闭父webview的蒙版  
            });

function showmask(){  
this.mask.show();  
plus.webview.currentWebview().parent().evalJS("window.createOnline.maskshow()");//打开父webview蒙版的方法  
}

子页面的操作是这样的:点击按钮分别显示了子webview和父webview的蒙版,这里没有问题;当我点击子webview或者父webview的蒙版时,父/子webview的蒙版也都会关闭,这里也没有问题;接下来问题来了:再当我点击按钮时父/子的蒙版出现之后就立即关闭了,不论重试多少次都是如此,希望官方能够帮忙解答一下!

2015-11-18 18:19 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

发个测试工程

追逐者

追逐者 (作者)

测试demo
@DCloud_MUI_FXY

DCloud_UNI_FXY

DCloud_UNI_FXY

不要用用这个mask,直接用webview的mask,我看了你的代码,你搞了个死循环,父子webview一直在循环close对方的mask。
//显示遮罩
plus.webview.currentWebview().setStyle({
mask: "rgba(0,0,0,0.5)"
});
//关闭遮罩
plus.webview.currentWebview().addEventListener("maskClick", function() {
plus.webview.currentWebview().setStyle({
mask: "none"
});
}, false);

追逐者

追逐者 (作者)

虽然搞不懂为什么会死循环...不过还是感谢官方的解答。

  • DCloud_UNI_FXY

    你的代码里,在父webview的mask的close里边执行了子webview的mask的close,而子webview的mask的close又执行了父webview的mask的close,导致两边一直在互相close对方的mask

    2015-11-19 16:13

  • 追逐者 (作者)

    var mask = mui.createMask(callback);

    难道这个callback其实是close触发的而不是点击触发的

    2015-11-19 16:35

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