我怀疑是在档案中 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历史和书签库。如果有人知道另一个好的,请告诉我们。)
答案 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之后再次运行。