一个更改'javascript:history.go()'历史记录的按钮

时间:2011-09-18 01:42:56

标签: javascript javascript-events javascript-framework

通常我们会使用<a href="javascript:history.go(-1)">Back</a>返回页面。

我想构建一个按钮来增加-1值。

例如,当我点击按钮history.go(-2)再点击history.go(-3)时,就像这样

是否可能

1 个答案:

答案 0 :(得分:1)

以下是使用closures的示例函数:

<a id="backer" href="">back</a>
...
document.getElementById('backer').onclick = (function () {
  var x = -1;
  return function () {
      console.log(x--)
  }
})();

显然,将console.log替换为history.go


 

修改

我只是想到这是使用后退按钮的事实。您可以使用cookies进行IE7覆盖,但localStorage更清晰。

<a id="backer" href="">back</a>
...
document.getElementById('backer').onclick = (function () {
  var x = window.localStorage['background'] | 0;
  return function () {
      x = x - 1;       
      window.localStorage['background'] = x;  
      history.back(--x)
  }
})();