8***@qq.com
8***@qq.com
  • 发布:2017-12-12 01:44
  • 更新:2017-12-18 17:45
  • 阅读:952

【报Bug】

分类:wap2app

详细问题描述
[内容]
web2app,网站是用vue写的spa。
期望目标:用addeventlistener方式修改真机返回键逻辑为网址返回而非退出。
正常现象:网址设置为本机用npm run dev模式启动的网页调试地址192.168.31.212:8081时,返回键的事件能正常执行并且默认的退出功能不再执行
bug现象:发布到线上后用http://xxx.com的方式访问线上网页,返回键事件在console里可以看到被执行了,但默认的退出功能没有被屏蔽,导致不论是按返回键还是按网页里的返回UI按钮都会导致app退出。

为什么发到线上后就没办法拦截默认退出逻辑?

重现步骤
[步骤]
[结果]
[期望]

运行环境
[系统版本]mac osx
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ]
[电话]

2017-12-12 01:44 负责人:无 分享
已邀请:
Neil_HL

Neil_HL

spa应用建议加上下面这句,按历史记录返回即可,不建议自己监听back键,wap2app的back交由框架监听,自己监听可能造成部分功能不能使用。

"easyConfig":{  
	"back":{  
		"history":true//允许执行history.back  
	}  
}
  • DuD

    自己试过吗,都没用history.go(-1)


    2019-08-26 11:51

8***@qq.com

8***@qq.com (作者)

用下面这个这个解决了。原来直接用history.go(-1)或者vue.$router.back()都有bug。

plus.key.addEventListener('backbutton', () => {
const webview = plus.webview.currentWebview();
webview.canBack((e) => {
if (e.canBack) {
// console.log('webview going back...')
webview.back();
// console.log('webview going back done')
} else {
webview.close();//hide,quit
}
})
});

  • 5***@qq.com

    兄弟, 这段代码我加上 , 调试的时候, 没有进入函数就关闭了,没有效果啊,能够写的具体些吗? 感谢啊!


    2020-02-29 20:44

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