清除浏览器历史记

时间:2011-03-13 10:10:55

标签: javascript

我编写了以下代码来清除浏览器历史记录,它在Internet Explorer中正常运行但在Mozilla Firefox中无效。我该如何解决这个问题?

<script language="JavaScript">
function DisablingBackFunctionality()
{
    var URL;
    var i ;
    var QryStrValue;
    URL=window.location.href ;
    i=URL.indexOf("?");
    QryStrValue=URL.substring(i+1);
    if (QryStrValue!='X')
    {
        window.location.href="http://localhost:8085/FruitShop/";
    }
}
</script>

我正在<header>部分编写此代码。

1 个答案:

答案 0 :(得分:7)

  1. 不要试图打破后退按钮
  2. 而是在您不想返回的页面上使用location.replace(url)
  3. 此外,您的代码可以大大简化 - 但要注意它不会 CLEAR 历史记录。您无法清除历史记录,只会阻止页面进入历史记录,或者在尝试时打破后退按钮

    function DisablingBackFunctionality() {
    // get the query string including ?
      var passed =window.location.search; 
    // did we receive ?X
      if (passed && passed.substring(1) =="X") { 
    // if so, replace the page in the browser (overwriting this page in the history)
        window.location.replace("http://localhost:8085/FruitShop/"); 
      }
    }