var mainPage = mui.preload({
"id": 'login',
"url": '/login.html',
});
var main_loaded_flag = false;
mainPage.addEventListener("loaded",function () {
main_loaded_flag = true;
});
mainPage.addEventListener("onSuccess",function(){
closeView();
});
function closeView(){
console.log(wvs.length);
for (var i = 0, len = wvs.length; i < len; i++) {
//关闭除setting页面外的其他页面
if (wvs[i].getURL() == curr.getURL()|| wvs[i].id == "index"){
plus.webview.close(wvs[i]);
}
}
}
var toMain = function() {
//使用定时器的原因:
//可能执行太快,main页面loaded事件尚未触发就执行自定义事件,此时必然会失败
var id = setInterval(function () {
if(main_loaded_flag){
clearInterval(id);
mui.fire(mainPage, 'show', null);
mainPage.show("login");
}
},220);
};
以上这种方式没有作用
function closeView(){
for (var i = 0, len = wvs.length; i < len; i++) {
//关闭除setting页面外的其他页面
if (wvs[i].getURL() == curr.getURL()|| wvs[i].id == "index"){
plus.webview.close(wvs[i]);
}
}
}
plus.webview.open("/login.html", "login", null, "auto", 600, closeView())
这种写法种直接把应用关了
备注:wvs[i].id == "index" 指创建选项卡的父页面,curr.getURL()指的是子页面。
请求各位路过的大神指点一下怎么监视login.html页面是否加载成功了。
1 个回复
1***@163.com (作者)
var curr = plus.webview.currentWebview();
var wvs = plus.webview.all();
for(var i = 0, len = wvs.length; i < len; i++) {
//关闭除login页面外的其他页面
if(wvs[i].id == "login") {
plus.webview.close(wvs[i]);
}
}
var loginPage = mui.preload({
"url": '/login.html',
"id": 'login',
});
var login_loaded_flag = false;
loginPage.addEventListener("loaded", function() {
login_loaded_flag = true;
});
var id = setInterval(function() {
if(login_loaded_flag) {
clearInterval(id);
loginPage.show("login");
}
}, 20);
loginPage.onloaded = function() {
for(var i = 0, len = wvs.length; i < len; i++) {
//关闭除login页面外的其他页面
if(wvs[i].id == "index") {
plus.webview.close(wvs[i]);
}
}
}
已解决