1.进入index首页,判断是否登陆, 是 login页面,否则home页面.
- home 页面 加载了,a,b,c,d页面.如下代码 抄袭 案例的.呵呵.
- d页面可以注销,注销后,清除缓存,再次跳转到login页面. 卡住了.
尝试,注销缓存后, 关闭 跳转前,plus.webview.close("home.html"); 还是不行.
为何? 谢谢
<script src="js/mui.min.js"></script>
<script src="js/app.js"></script>
<script type="text/javascript" charset="utf-8">
var subpages = ['a.html','br.html','c.html','d.html'];
var subpage_style = {
top: '0px',
bottom: '50px'
};
//创建子页面,首个选项卡页面显示,其它均隐藏;
mui.plusReady(function(){
var self = plus.webview.currentWebview();
for(var i=0;i<4;i++){
var sub = plus.webview.create(subpages[i],subpages[i],subpage_style);
if(i>0){
sub.hide();
}
self.append(sub);
}
});
9 个回复
stock2 (作者)
如果没有注销 运行正常 .( 返回按钮,手机上的物理返回按钮 有问题. 按一次,类似2次了,就直接回退关闭了软件.)
注销后, 就卡在login.html里 不能输入,不能点击.
DCloud_UNI_FXY
你的login.html再登陆成功后,close掉了?然后注销后,又重新create一个login.html?
stock2 (作者)
close 掉 home,及 login,在加载login
plus.webview.create("login.html").show();
还是卡死的.
DCloud_UNI_FXY
home页面应该包含了4个子页面。不建议重新创建
在login登录成功后,close掉login。进入home
在d页面注销后,新建login(不要close掉home)。login登录成功后,可以通知a,b,c,d做reload(不要reload原来的home,如果home也有内容要调整,可以evalJS调整)。
木乃森
怎么webview.reload(true);来通知A,B,C,D页面做reload呢,直接写plus.webview.reload(true);会报错:Object #<Object> has no method 'reload'
2015-05-14 15:56
stock2 (作者)
是呀, 我在想 创建时,能否检查内存中是否有该窗口. 没有重建,否则关闭.
这样在index时,就可以创建.
login 后, 在reload下(一次) ,需要刷新的除外.
问下, 如何reload ? 谢谢.
DCloud_UNI_FXY
webview.reload(true);
HB探索
我现在是进入首页的时候 干掉所有webview 重新开始。 因为我的首页是tabview布局,里面的tab页是事先预加载的。 ready方法也只会在最初进来的时候执行,所以干掉其他的,重新开始可以避免退出再登录的时候出现的各种异常。 close 方法不是很好用,我用的过程中经常出现会再次跳回要close的页面。。还是没有很好的理解mui~ 希望我的处理方式对你有帮助
DCloud_UNI_FXY
可能不仅仅要close掉首页,你试试把tab页也都close掉。有可能close首页的时候,tab页还存在
HB探索
嗯,这个有可能的。 尤其是也没布局比较复杂的时候。多个webview最容易出现异常情况~
2015-03-12 18:37
stock2 (作者)
谢谢 大家. 热心回答.
我测试了, 我的home 自动加载(创建的模式) 没有关闭时,我用循环看了, 多次登陆注销.
发现 一大堆的 窗口. 全部关闭有时又出错.
我想 最好能检查 有就不在创建,没有才创建.通过 all 全部得到窗口. 比较.
暂时没实现.