独立的跨浏览器库来处理 location.hash

Posted

技术标签:

【中文标题】独立的跨浏览器库来处理 location.hash【英文标题】:independent Cross Browser Library to handle location.hash 【发布时间】:2011-05-31 12:03:08 【问题描述】:

我需要一个独立的跨浏览器 javascript 库来处理 location.hash。不是 jQuery 特定的。不是dojo.hash。如果那是使用 html 5 那总是受欢迎的

【问题讨论】:

【参考方案1】:

代替native hashchange 支持(IE8+、FFx 3.6+、528+ 的 WebKits),您需要poll the location hash 进行更改。

【讨论】:

【参考方案2】:

我不知道任何库,但您可以使用跨浏览器函数来处理 location.hash,然后将其集成到您想要的库中。 您可以使用watch 属性实现作为“document.location.hash”对象的观察者。然后,语法将类似于:

window.location.watch(
  'hash',
  function(id,oldVal,newVal)
     console.log("the window's hash value has changed from "+oldval+" to "+newVal);
  
);
如果你想这样做,而不是等待现有的库实现自己的跨浏览器方法,我发现“watch”方法是一个很好的开始。您可以查看有关此主题的讨论 here。

【讨论】:

【参考方案3】:

这有你需要的一切: The All-In-One Entirely-Not-Alphabetical No-Bullshit Guide to HTML5 Fallbacks 您可以在 Browser State Management 部分下查看不同的库。

对于一个好的哈希更改库,请参阅这个:History.js

【讨论】:

以上是关于独立的跨浏览器库来处理 location.hash的主要内容,如果未能解决你的问题,请参考以下文章

location.hash的不一样用法

如何在不跳过文档的情况下更新window.location.hash?

地址hash值分割处理函数

巧用location.hash保存页面状态

js问题 window.location.hash和window.location.href有啥不同 手册上查二者的用法一样啊 谢谢大家

Chrome:调试谁更改了document.location.hash