3

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

所以我想做两件事:

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

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

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

4

2 回答 2

1

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

于 2012-11-01T13:50:38.200 回答
0

首先使用 javascript 来防止将位置添加到历史列表中。捕获正确链接的onclick事件,并document.location.replace("next_page.html"); 以这种方式使用,当用户单击后退按钮时,他会离开您的网站,而不是返回并弄乱您的应用程序。

另外:可以捕捉到用户按下返回键的页面的卸载事件,以便确认用户退出。

于 2012-11-01T14:03:31.607 回答