如题描述,我在A页面,创建了一个webview,id为x,得到的webview对象(obj),设置了一个属性,obj.y=true
。
然后,我在B页面,通过var obj = plus.webview.getWebviewById('x')获取到此webview,但是obj.y未定义。
还有,如何判断一个webview已经被close掉了?
就用上边的场景,obj.close() 后 obj依旧是一个对象。。。
如题描述,我在A页面,创建了一个webview,id为x,得到的webview对象(obj),设置了一个属性,obj.y=true
。
然后,我在B页面,通过var obj = plus.webview.getWebviewById('x')获取到此webview,但是obj.y未定义。
还有,如何判断一个webview已经被close掉了?
就用上边的场景,obj.close() 后 obj依旧是一个对象。。。
wclssdn (作者)
app启动,默认就打开两个webview,然后,还有一个页面,没有创建。
其中webview A 执行了如下的命令(与webview B交替执行的)
webview B 执行了如下命令
发现的问题:
我想做一个webview的窗口管理,需要在多个webview之间共享当前已经打开的webview列表(我根据id排重,相同的id不会创建多个webview,易管理)
目前,发现关闭的webview依旧可用,webview的属性无法多webview共享等问题。
@DCloud_客服_Trust
Trust - 少说废话
不好意思,未能及时回复。
1、为webview添加额外的参数,需要在创建的时候添加。而不能像JS普通对象那样,直接obj.param这样操作。
2、获取close掉的webview结果是null。
3、可以监听webview的相关事件,来得知webview的一些状态。
请参考webview模块的相关API
http://www.html5plus.org/doc/zh_cn/webview.html
wclssdn (作者)
多谢回复~ 我是想优化一下webview窗口管理,一个id只有一个窗口就够了~ 所以我想在所有窗口中知道某个id的webview是存在,还是不存在。。。好像比较难办,可否提供一些思路?多谢~
2016-09-07 11:14
wclssdn (作者)
回复 Trust:这个其实还不够~ 因为webview还有一些事件,比如loaded。我要创建webview,在它loaded后执行一些回调方法,当在创建此webview的窗口中做这件事儿是很容易的。但是,当在其他窗口能获取到此webview(创建它的窗口并没有关闭它)的时候,就很难判断此webview是否已经loaded了。。。而监听loaded也是不可能的(要先拿到webview对象才能写loaded监听,是在别的窗口中创建的,所以不可能监听的到)
说的比较乱,但核心的问题就是,我想要在webview对象上加一些所有窗口共享的东西。。并且不能是持久缓存(如localStorage),在对象销毁的时候,自动销毁(依附在对象上的是最好的)
2016-09-09 10:51
wclssdn (作者)
抽空看下这个问题。。。 简单描述就是,创建一个webview,id为x,在其他窗口中通过 plus.webview.getWebviewById('x')获取到此对象,在此对象上增加属性等信息在其他窗口中获取不到。
2016-09-06 16:34