php - 点击浏览器后退按钮时哪种解决方案最好

标签 php javascript jquery ajax browser

我有一个应用程序,我遇到的问题是后退浏览器按钮,如果用户点击后退浏览器,那么应​​用程序就会搞砸。

所以我想做两件事:

解决方案 1:我找到了一个网站,其中显示了用于在所有浏览器上禁用后退按钮的 javascript 代码。显然,您需要启用 javascript 才能正常工作,但如果没有 javascript,我的应用程序将无法正常工作,所以这不会成为问题(我在我的应用程序的每个页面中都包含一条警告,说明必须启用 javascript 才能使用应用程序)

解决方案 2:如果用户确实在任何时候点击了后退按钮,那么它会将用户导航到 safety.php 页面,在此页面上它会通知用户他们不能使用浏览器后退按钮,然后它将销毁所有 session ,以便用户注销。如果他们想再次使用该应用程序,则必须重新登录并从头开始使用该应用程序。

我的问题是,在这两种解决方案中,哪一种更好用?我的应用程序是教师创建在线评估、创建评估细节(开始时间/持续日期等)并为每个评估创建问题和答案(可以是单个或多个评估)

最佳答案

禁用后退按钮通常是一种糟糕的可用性做法。您最好的选择是操纵历史对象(如果您不熟悉这些方法,请搜索 pushState )以便点击后退按钮将它们返回到您体验之外的页面,或者您正在完成“解决方案 2”,但是在他们实际离开页面之前警告他们他们将离开“已登录”部分,以便他们可以选择留下来,使用 confirm() 或自定义弹出窗口。

关于php - 点击浏览器后退按钮时哪种解决方案最好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13178337/

相关文章:

javascript - 在 Canvas 上围绕圆周边旋转矩形

JavaScript、/jQuery 确定 URL 是否包含最小字符串

php - 使用 Php 在 Mysql 中输入日期的问题

php - Prestashop - 验证付款后更改订单状态

PHP - 从时间戳所在位置选择数据

javascript - 没有。在 javascript 中给定一年的几周

javascript - 如何删除创建的 createDocumentFragment 对象?

php - 使 CER 证书只能通过 Apache2 Web 服务器上的 CURL 访问

html - JQuery 附加到子元素

javascript - 如何在 msstackedcolumn2dlinedy 融合图表中隐藏 y 轴