<A target="_blank" <a href="index.php?ac=article&at=list&tid=186&id=&bid=12&se=se&wy=se">链接</A>
hbuilder用窗口嵌套打开外部链接后点击返回按钮时会把整个app给关闭了
<A target="_blank" <a href="index.php?ac=article&at=list&tid=186&id=&bid=12&se=se&wy=se">链接</A>
hbuilder用窗口嵌套打开外部链接后点击返回按钮时会把整个app给关闭了
使用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(); })");
BoredApe - 有问题就会有答案。
也可以将mui注入 第三方页面,自动处理返回
var wv = plus.webview.create('http://www.baidu.com','baidu')
wv.appendJsFile('_www/src/assets/js/mui.min.js');
_www 是根目录
主要就是在一个新的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);
}
});
引自同事写好的代码,把他的复制过来的,然后我加了一些注释。虽然不是自己写的,但是也让自己学会了一条新的思路