tk_宾
tk_宾
  • 发布:2015-12-30 14:44
  • 更新:2017-12-07 20:02
  • 阅读:15964

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

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

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

2015-12-30 14:44 负责人:无 分享
已邀请:
hylong

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(); })");
BoredApe

BoredApe - 有问题就会有答案。

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

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

_www 是根目录

  • 2***@qq.com

    虽然过了很多年,我也已经会了,但是还是要谢谢你!

    2019-09-15 16:10

2***@qq.com

2***@qq.com

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

水灵退散

水灵退散

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

1***@qq.com

1***@qq.com

用两个webview,

7***@qq.com

7***@qq.com

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

1***@qq.com

1***@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);
}
});

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

  • 2***@qq.com

    小白,请问下这个是加在哪?

    2018-04-20 11:26

  • 1***@qq.com

    回复 2***@qq.com: 写在你加载外部链接的那个页面

    2019-07-28 11:00

  • 2***@qq.com

    这个可以返回上一页了,好像退出不应用

    2019-09-30 13:48

该问题目前已经被锁定, 无法添加新回复