jQuery的History(和Bookmark)插件可能有bug?

时间:2010-07-06 14:29:43

标签: jquery jquery-plugins

我怀疑是在档案中 http://github.com/tkyk/jquery-history-plugin/blob/master/samples/ajax/ajax.js

第13和14行

            load(url);
            $.history.load(url);

在Firefox,Chrome和IE 8中,我看到在点击1,2或3时页面加载了两次。

是第13行,“加载(网址);”可以删除,因为$ .history.load(url)将触发使用$ .history.init()注册的函数,该函数已经执行了load()?

熟悉包装的人可以证实这一点吗?

(这是我为jQuery找到的最好的Ajax历史和书签库。如果有人知道另一个好的,请告诉我们。)

1 个答案:

答案 0 :(得分:2)

是的,您可以删除load(url)来电并且它会工作,如果位置哈希值发生变化(which it checks every 100ms),会发生init进行回调的情况会发生什么再次运行该回调。

这部分:

$.history.init(function(url) {
  load(url == "" ? "1" : url);
});

该函数每隔100毫秒if the current location hash (or appState in the plugin) doesn't match what it was previously运行一次。实际的load()处理程序中的click调用是对此的补充,所以目前它正在运行,并且在0-100ms之后再次运行。