如何查看Javascript中是否存在转发历史记录? (禁用后退按钮)

时间:2009-11-11 10:32:37

标签: javascript

有一个window.history.go(1)来阻止用户点击后退按钮,但是想知道我是否可以检查是否存在前进历史记录,所以我可以显示一个弹出窗口警告用户不要按后退按钮。

我知道你可以获得历史记录长度,但有没有办法在历史列表中获取当前位置?或者其他一些方法......

2 个答案:

答案 0 :(得分:1)

AFAIK您将无法从JavaScript访问历史记录。这将是一个安全漏洞,大多数浏览器都不允许这样做。可能在IE中可能有使用ActiveX的解决方法。

找到可能对您有用的条目

window.history

有一个下一个属性。

  

返回下一项的URL   会话历史   此属性不适用于Web   内容并不受其他人支持   浏览器。

     

出于安全原因,历史   对象不允许   用于访问URL的非特权代码   会话历史记录中的其他页面,   但它确实允许它导航   会话历史。

     

无法清除会话   历史或禁用后退/前进   从无特权代码导航。该   最接近的解决方案是   location.replace()方法,其中   替换当前的项目   使用提供的URL进行会话历史记录。

答案 1 :(得分:0)

不要破坏后退(或前进)按钮。

  1. 在不了解每个可能的用户设置(包括插件等)的情况下,您不知道他们可能会做些什么。
  2. 如果禁用脚本,禁用脚本或重新启用等,您仍需要做一些有点智能的事情(例如,不要删除数据库)。
  3. 因为你已经必须处理#2,所以甚至不用担心如何在每个地方找到#1,并花更多的时间让#2更好地工作。
  4. 现在您的网站使用后退按钮。