【问题标题】:Detect if the user has used the back button检测用户是否使用了返回按钮
【发布时间】:2011-01-30 17:13:55
【问题描述】:

我的网页在加载页面时会运行一个 javascript 函数。但是,如果用户使用后退按钮返回此页面,我不希望该功能运行。如何使用 javascript 防止这种情况发生?

$(document).ready(function(){
  // Do not run this function if the user has arrived here using the back button  
  RefreshThePage();
});

【问题讨论】:

标签: javascript back-button


【解决方案1】:

我认为使用 cookie 是最简单的方法

【讨论】:

  • 我现在也有同样的问题,请问您能指定如何使用cookies来处理这个问题吗?
【解决方案2】:

我认为研究 Struts 处理重复表单提交的方式会对您有所帮助。

部分链接:

http://www.techfaq360.com/tutorial/multiclick.jsp

http://www.java-samples.com/showtutorial.php?tutorialid=582

http://www.xinotes.org/notes/note/369/

【讨论】:

    【解决方案3】:

    Track when user hits back button on the browser

    有多种方法可以做到这一点,但有些方法只适用于某些浏览器。我知道的一个想法是在页面上嵌入一个几乎不可见的微小 iframe。当用户点击后退按钮时,iframe 被导航回来,您可以检测到然后更新您的页面。 Here 是另一种解决方案。

    您可能还想查看 gmail 之类的源代码,看看他们是如何做到的。

    Here's 一个图书馆,顺便提一下你正在寻找的东西

    【讨论】:

      【解决方案4】:

      事件对象提供您获取密钥代码。所以基本上你注册了一个事件监听器 onKeyDown。使用接收到的事件。如果键码与您喜欢的键匹配,则继续您的功能。

      document getElementById('elementId').onKeyDown = checkKey();
      function checkKey(event) {
        if (event.keyCode === keyCode) then . . . 
      }
      

      使用 alert(event.keyCode);找到合适的。

      【讨论】:

      • Tom 指的是浏览器的后退按钮,而不是页面中的后退按钮。而且我认为您不能将浏览器的后退按钮捕获为 JavaScript 中的键盘事件。
      猜你喜欢
      • 2011-01-01
      • 2017-01-25
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 2016-12-29
      相关资源
      最近更新 更多