ws=plus.webview.currentWebview();
wo=ws.opener();
wp=plus.webview.create('webview_new.html','webview_new.html',{scrollIndicator:'none',scalable:false,popGesture:'none'},{preate:true});
wp.show(type);
第一次正常,但是如果我在webview_new.html调用了mui.js方法后第二次show就打不开了
10 个回复
maq
一个 webview 可以被多次 show(),跟里面有没有引用 mui.js 没有关系,这已经被反复验证了。
检查一下你的【第二次show】是怎么做的,也许是用法的问题。
taogou (作者)
但是我把子页面的mui.js 去掉 就是正常的
调用方法是一样的 就是ws.show
taogou (作者)
我就是拿官方的例子做的
在 webview_new页面添加
<script type="text/javascript" src="../js/mui.min.js" ></script>
删除这个css <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
就不对了
maq
原帖中说是 wp.show(),回复中又说是 ws.show(),敲错了吧?
taogou (作者)
是mui.js 以下有问题 去掉就好了
/**
*/
taogou (作者)
对 是敲错了
实际上只是改了webview_new 填了mui.js 删除了 css
taogou (作者)
其实是这里面的原因
wobj.canBack(function(e) {
//by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
if (e.canBack) { //webview history back
window.history.back();
} else { //webview close or hide
//fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close
if (wobj.id === plus.runtime.appid) { //首页
//首页不存在opener的情况下,后退实际上应该是退出应用;
//这个交给项目具体实现,框架暂不处理;
//plus.runtime.quit();
} else { //其他页面,
if (wobj.preload) {
wobj.hide("auto");
} else {
//关闭页面时,需要将其打开的所有子页面全部关闭;
$.closeAll(wobj);
}
}
}
});
我没有预加载 所以做了 $.closeAll(wobj);所以第2次打不开了
8***@qq.com
确实是这的问题,你最后这么解决的?我也遇到了
taogou (作者)
是mui.js中的 5+back事件冲突
8***@qq.com
那你你是最后解决了吗? 是吧close改成hide了吗?