A页面点击进入B页面,然后再B页面mui.back返回,并关闭b页面,然后在A页面继续进入B页面就不成了。
A进入B页面的代码:
mui("#div-content").on('tap','li',function(){
//var html = this.find("a div ").text;
var name = $(this).find("a div").first().find("div").first().find("div").first().find("div span").html();
var code = $(this).find("a div div:eq(0) div:eq(0) div:eq(1) span").html();
alert(code);
mui.openWindow({
url:'stockdetail.html',
id:'stockdetail',
extras:{
name:name,
code:code
}
});
});
B页面返回A页面的代码:
var old_back = mui.back;
mui.back = function(){
mui.currentWebview.close();
old_back();
}
请教,我上面写的是不是不对,还是B页面没有关闭?openwindow不开?
6 个回复
七星端砚 (作者)
> 自己解决的一种途径是 把createNew参数设置为true。
但是,疑问来了,如果把页面关闭之后,关闭的页面id还在内存中存在吗?
下面是文档:
createNew:是否重复创建相同id的webview;为优化性能、避免app中重复创建webview,mui v1.7.0开始增加createNew参数,默认为false;判断逻辑如下:若createNew为true,则不判断重复,每次都新建webview;若为fasle,则先计算当前App中是否已存在同样id的webview,若存在则直接显示;否则新创建并根据show参数执行显示逻辑
chender - 与人为善
mui.currentWebview.close();会导致当前webview被销毁,webview都被销毁了, old_back()这句代码当然Joi执行不了了
七星端砚 (作者)
它确实是返回了,这个应该可以执行吧?webview销毁之后,当前窗口的id是不是也销毁了?如果再次openwindow的话,是不是可以打开B页面?现在是打不开B页面。不过可以执行到alert函数那里
2015-12-04 12:08
七星端砚 (作者)
http://ask.dcloud.net.cn/question/723
2015-12-04 12:11
唐糖 - 这个家伙很懒,什么也没有留下
mui.back()就行了,没必要执行关闭吧
七星端砚 (作者)
关闭是为了确认让B页面销毁,然后A中openwindow再次打开B页面。
2015-12-04 12:08
七星端砚 (作者)
chender - 与人为善
你有用templae(父子页面)吗
七星端砚 (作者)
没有,这是什么?我是新人小白
2015-12-04 14:28
BoredApe - 有问题就会有答案。
此问题确认是bug.昨晚发的更新中已经解决
Android平台修复Webview窗口关闭后仍然可能通过plus.webview.getWebviewById获取的问题
七星端砚 (作者)
原来如此,不过我今早更新了Hbuilder,也是今天测试的时候出的问题,问题已推送到Hbuilder更新?
2015-12-04 15:11
七星端砚 (作者)
我检查了下更新才发现我还没更……刚更新上
2015-12-04 15:13