26-讨论
17.6.3 讨论
historyLoad()
回调方法在两个地方调用。首先,当页面加载的时候它在 $.history.init()
函数内调用。hash值从URL的尾部剥离,作为一个参数。如果不存在hash值,参数为空。 load()
函数也调用 historyLoad()
。在这种情况下,传递给 $.history.load()
的参数(单击的单词)将作为回调函数的参数。
在本解决方案中使用了一个jQuery插件。如果不使用插件,使用JavaScript的 window.location.hash
对象也很容易实现类似的功能。jQuery历史插件仅包含156行代码。选择它而不从头开始编写解决方案的原因是这个插件的大部分代码处理不同浏览器不一致的问题。当处理浏览器差异时,利用插件中积累的共有经验往往比自己考虑各种实现差异更有效率。