我按官方的例子,封装了一个打开新窗口的代码。每次在需要打开新窗口里直接写 onclick="openwebview('abc.html')" 或者用js调用。
请教:
1)这种思路有问题吗?
2)如果当前已经有一个webview,我用这个方法打开新窗口,那么以前的窗口是不是没有关闭还在后台?改怎么改进?
3)为什么我不管用 mui.openWindow 还是 plus.webview.open 还是 先 plus.webview.create再 plus.webview.show 这三个方法的任何一种, 在iphone下基本没问题,但是在andriod下间歇性失效。
我追踪代码,发现窗口实际已经打开了,在open以后立即显示所有webview会提示的确已经打开,但是就是不显示。
然后当前窗口的所有链接都失效。按返回键 1-2次后,当前窗口能恢复正常。但是再次点击打开新窗口事件还是显示不了。
但是偶尔又可以。
请教原因。
{{{
function openwebview(id) {
console.log('func openwebview: ' + id);
var wv = plus.webview.getWebviewById(id);
var ani = 'slide-in-right';
if(!ani) ani = 'slide-in-right';
if(wv) {
console.log('wv.close :' + id);
wv.close();
}
//var wx_current = plus.webview.currentWebview();
plus.webview.open(id, id, {height:'100%',top:'0px',left:'0px',width:'100%',zindex:999}, ani);
//wv.show(ani);
/*
mui.openWindow({
url:id,
id:id,
show:{aniShow:ani },
styles:{zindex:999}
});
*/
//console.log('webview.open id: ' + plus.webview.getWebviewById(id).id );
//wx_current.close();
}
}}}
quwei (作者)
那些多余的代码是在我按原始方法测试不行的时候加上的,我各种方法都试过了。 行,我按你说的再测试下看看效果。谢谢。
2014-10-20 12:07