Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测移动网站上按下硬件后退按钮的用户?_Javascript_Android_Mobile_Progressive Web Apps_Html5 History - Fatal编程技术网

Javascript 如何检测移动网站上按下硬件后退按钮的用户?

Javascript 如何检测移动网站上按下硬件后退按钮的用户?,javascript,android,mobile,progressive-web-apps,html5-history,Javascript,Android,Mobile,Progressive Web Apps,Html5 History,Progressive Web Applications(PWA)的一大承诺是,您可以为桌面编写网站,然后用户可以将其安装到主屏幕上,并获得“原生应用”的感觉 但有一件事我还没有完全弄清楚如何移植,那就是使用hardware back按钮关闭对话框等的经验 例如,假设用户在您的网站上打开一个模式或导航抽屉。然后,他们希望能够使用硬件后退按钮关闭模式/抽屉,但如何才能做到这一点 似乎唯一的方法是使用历史API,但在UI上打开抽屉或简单模式之类的东西在您的webapp中不应该有自己的路径。事实上,这

Progressive Web Applications(PWA)的一大承诺是,您可以为桌面编写网站,然后用户可以将其安装到主屏幕上,并获得“原生应用”的感觉

但有一件事我还没有完全弄清楚如何移植,那就是使用hardware back按钮关闭对话框等的经验

例如,假设用户在您的网站上打开一个模式或导航抽屉。然后,他们希望能够使用硬件后退按钮关闭模式/抽屉,但如何才能做到这一点

似乎唯一的方法是使用
历史
API,但在UI上打开抽屉或简单模式之类的东西在您的webapp中不应该有自己的路径。事实上,这会造成非常混乱的行为,因为用户并不期望这些东西是一条路线,并且会发现按下
前进
按钮会在关闭模式后重新打开它

这也会使网站的路由逻辑变得非常复杂,因为由于所有这些不同的UI小部件都需要路由逻辑来维护它们的状态,因此各种页面可能会有大量的潜在路由。最后,对于用户来说,这些简单的UI修改有自己的路线是不直观的,它们是正确的,因为它们不应该这样做

在本地移动体验中,这些事件通常没有“向前”动作,并且它们肯定不会记录到路线的历史记录中

我到处搜索,但我没有找到一种方法来模拟网站的这种行为。可能吗