木子lee
木子lee
  • 发布:2015-02-04 10:47
  • 更新:2015-02-04 23:28
  • 阅读:15561

plus.webview.getWebviewById

分类:MUI
mui
                    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吗?
如果是 为什么获取不到?

2015-02-04 10:47 负责人:无 分享
已邀请:
踩着单车载着猪

踩着单车载着猪

if跟else里的调试信息不都是not ok么...

木子lee

木子lee (作者)

笔误。。。

其实我想要做的是 同一个url 可以创建多个相同url,不同id 的窗口。类似于.net java window窗口,可以new 多个,独立 不冲突。 我希望复用 同一个url 窗口,打开多个后, 每次打开 都能 保存 窗口的状态。

DCloud_UNI_FXY

DCloud_UNI_FXY

通过create可以实现多个id,同一个url。你贴出来的代码应该没问题,猜测你可能是打开一个窗口之后,又close了,所以再次打开的时候,又需要重新create,打开之后,如果要关闭,应该是hide,不应该是close。这样就可以get到了

木子lee

木子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

DCloud_UNI_FXY

是的,默认的后退,是close。你应该自己重写成hide

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