var pageChat;
var WebviewById='to'+userInfo.userID+'chat.html';
if(!plus.webview.getWebviewById(WebviewById))
{
console.log('not Ok');
pageChat = plus.webview.create('chat.html',WebviewById);
}
else
{
console.log('not Ok');
pageChat=plus.webview.getWebviewById(WebviewById);
}
上述代码 WebviewById 是不断变化的 但是 是同一个url ,只要存在 这个webView,就不需要再创建了。现在 总是 提示console.log(''not Ok''),没有走else
请问 plus.webview.create('chat.html',WebviewById(不固定); 创建的webview 是独立的webView吗?
如果是 为什么获取不到?
5 个回复
踩着单车载着猪
if跟else里的调试信息不都是not ok么...
木子lee (作者)
笔误。。。
其实我想要做的是 同一个url 可以创建多个相同url,不同id 的窗口。类似于.net java window窗口,可以new 多个,独立 不冲突。 我希望复用 同一个url 窗口,打开多个后, 每次打开 都能 保存 窗口的状态。
DCloud_UNI_FXY
通过create可以实现多个id,同一个url。你贴出来的代码应该没问题,猜测你可能是打开一个窗口之后,又close了,所以再次打开的时候,又需要重新create,打开之后,如果要关闭,应该是hide,不应该是close。这样就可以get到了
木子lee (作者)
谢谢。实际代码 触发事件 打开一个新页,在新页面 返回后,再次打开页面总是create。难道 后退回关闭页面吗?如果是 我要重写 后退事件是吗?
function openChatRoom(userInfo){
var pageChat;
var WebviewById='to'+userInfo.userID+'chat.html';
if(plus.webview.getWebviewById(WebviewById))
{
pageChat=plus.webview.getWebviewById(WebviewById);
}
else
{
pageChat = plus.webview.create('chat.html',WebviewById);
}
mui.fire(pageChat,'chatEvent',{
userInfo:userInfo,
});
pageChat.show('slide-in-right',60)
}
DCloud_UNI_FXY
是的,默认的后退,是close。你应该自己重写成hide