hbuilder打开外部链接后点击返回按钮时会把整个app给关闭了

<A  target="_blank" <a href="index.php?ac=article&at=list&tid=186&id=&bid=12&se=se&wy=se">链接</A>

\n

hbuilder用窗口嵌套打开外部链接后点击返回按钮时会把整个app给关闭了



2015-12-30 14:44 添加评论 分享
已邀请:
1

hylong

赞同来自: 五块钱的果汁

使用mui可以正常back,是因为mui帮你监听了back。
自己写的话,需要自己监听,示例。

var wv = plus.webview.create(‘http://www.baidu.com’,'baidu')
wv.evalJS("plus.key.addEventListener('backbutton',function () { plus.webview.currentWebview().close(); })");
\n
1

五块钱的果汁 - 勤奋是一种被逼无奈 - 热爱是一种情不自禁~

赞同来自: hylong

也可以将mui注入 第三方页面,自动处理返回

    var wv = plus.webview.create('http://www.baidu.com','baidu')
wv.appendJsFile('_www/src/assets/js/mui.min.js');
\n

_www 是根目录


0

269074245@qq.com

赞同来自:

兄弟,问题解决了没?和你一样问题。


0

826198755@qq.com

赞同来自:

在跳转的页面有没有添加mui.min.js


0

1656417255@qq.com

赞同来自:

用两个webview,


0

736009557@qq.com

赞同来自:

使用 mui.openwindow 也是一样;
使用 plus.webview.currentWebview().append(page);
倒是能不关闭APP但是返回的是父级页面,子页面被替换掉了


0

124235531@qq.com

赞同来自:

主要就是在一个新的mui页面,用create打开需要的网址,然后用mui.back返回。其它的只是用户体验

mui.plusReady(function(){
var ws=plus.webview.currentWebview();//创建一个新的页面
var embed=plus.webview.create("http://www.baidu.com","http://www.baidu.com");//新的页面地址
embed.addEventListener('loading', function(e){
plus.nativeUI.showWaiting();//加载中,显示加载效果
}, false);
embed.addEventListener('loaded', function(e){
plus.nativeUI.closeWaiting();//加载完毕,关闭加载效果
embed.show();//显示页面
}, false);
var old_back = mui.back;//保存mui默认返回
var count = 0;//返回计数器
//重写返回效果
mui.back = function() {
embed.evalJS("history.go(-1)");//使用默认返回,非mui返回
count ++;
//返回两次提示
if (count == 2){
mui.toast("再点击一次返回键退出");
}
if (count == 3){
old_back();//第三次使用mui返回,退出当前页面
}
//超出3秒,重新计数
setTimeout(function(){
count = 0;
},3000);
}
});

引自同事写好的代码,把他的复制过来的,然后我加了一些注释。虽然不是自己写的,但是也让自己学会了一条新的思路


要回复问题请先登录注册

退出全屏模式 全屏模式 回复