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

时间:2012-11-01 13:41:49

标签: php javascript jquery ajax browser

我有一个应用程序,我遇到的问题是后面的浏览器按钮,如果用户在后面的浏览器上隐藏,那么它会在应用程序中搞乱。

所以我想做两件事:

解决方案1:我找到了一个网站,其中显示了用于禁用所有浏览器上的后退按钮的javascript代码。显然你需要启用javascript才能工作但是我的应用程序在没有javascript的情况下也不会很好用,所以这不会有问题(我在我的应用程序的每个页面都包含一个警告,说明必须启用javascript才能使用应用)

解决方案2:如果用户随时点击后退按钮,则会将用户导航到safety.php页面,此页面上会告知用户他们无法使用浏览器返回按钮,然后它将销毁所有会话,以便用户注销。如果他们想再次使用该应用,那么他们将不得不再次登录并从头开始使用该应用。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

首先使用javascript以防止将位置添加到历史记录列表中。 捕获正确链接的 onclick 事件,然后使用document.location.replace("next_page.html"); 所以这样,当用户点击后退按钮时,他会离开你的网站,而不是后退并弄乱你的应用。

另外:您可以捕获用户按下后退按钮的页面的卸载事件,以便您确认用户退出。