jquery插件历史记录不适用于IE8

时间:2010-04-06 16:13:50

标签: jquery asp.net-mvc jquery-plugins

我正在使用http://www.mikage.to/jquery/jquery_history.html中的jquery历史插件。

我无法让插件在IE8上运行。在Firefox中它按预期工作。 IE8适用于插件创建者网站上的示例。

我的网站包含3个链接。我先点击1到3。当显示条目3时,我点击后退按钮并转到网址http://localhost:5000/de/Playground/HistoryTest#link2。显示正确的条目。

浏览器的前进按钮未显示,但应显示。

然后我再次点击后退按钮,但我没有进入第1项:而是进入第3项。

有人知道我做错了吗?

这是脚本。我用

<script  type="text/javascript"  > 

  function callbackHistory(hash) {
    if (hash != '') {


      if ($.browser.msie) {
        // jquery's $.load() function does't work when hash include special characters like aao.
        hash = encodeURIComponent(hash);
      }

      //alert(hash);
      $.ajax({
        type: "GET",
        url: "/de/Playground/HistoryDetail",
        data: {
          DataKey: hash
        },
        success: function(htmlSource) {
          $("#ajaxContainer").html(htmlSource);
        }
      });
    }
  }

  $(document).ready(function() {
    $.history.init(callbackHistory);


    $("a").click(function() {

      $.history.load(this.href.replace(/^.*#/, ''));
      return false;
    });
  });
</script>

HMTL

<a href="#link1" rel="history"   >link1 </a>
<a href="#link2" rel="history"  >link2 </a>
<a href="#link3" rel="history"  >link3 </a>

<div id="ajaxContainer" >
</div>

服务器部件仅呈现包含哈希值的HTML片段。

<h3>
<%= hash >
</h3>

1 个答案:

答案 0 :(得分:0)

事实证明我使用了旧版本的插件。

我使用sais插件的标题:

2006 Taku Sano

但最近的文件有

2006-2009 Taku Sano

我使用了“Jquery Cookbook”中的样本。该示例使用旧插件。插件作者页面上的示例使用最新版本并在IE中工作。