从Hbuider发展至今,web2app的返回键一直是个问题,大致问题如下:
1.物理返回键不是页面后退而是直接退出App问题(新版Hbuider打包的web2app该问题好像已解决);
2.物理返回键回退到登录页面(这种问题常见于单页面应用SPA,按照正常的逻辑,登录过后除非退出,一般是不允许回退到登录页面的,尤其是当前React、Vue大盛其下的今天。新版Hbuider打包的web2app该问题好像已解决);
3.单页面路由返回亦或是window.history.go(-1),window.history.back()无法返回页面导致弹出Hbuider的再按一次退出App提示;
4.间隔指定时间内物理返回键两次退出App的逻辑实现;
我最初是不愿使用Hbuider打包App的,我最初使用是Cordova,后来由于有些原因,转而使用了Hbuider打包,既然使用了这个工具,以上那些问题就成了摆在我面前的一道道高墙,除了推倒它,没有别的路走,于是花费一定时间解决了以上问题,但是这种解决方案只是代码层次的曲线救国,真正的实际方案还是希望Hbuider官方团队能够拿出实际可行的方案;
1. 自定义物理返回键的逻辑,返回几次退出由你心意,如下图:
监听物理返回键上图代码可用在单页面应用SPA,index.html里面引入script标签进行全局处理;plus.key.addEventListener('backbutton', () => {},false);这段就是Hbuider监听物理返回键的处理,其中plus是Hbuider的一项增强HTML5的功能;具体详情可以去Hbuider网站了解;
2.路由返回键处理
上面是路由返回处理,无论是Vue亦或是React,都有自己的一套Router处理,可以根据自己的需求处理,即使是走window.history.go(-1),window.history.back()处理也可以;
目前上述解决方案在我所打包的App里得到了正常的使用,欢迎各位大佬指证错误;
网友评论