History.js - 防止更新哈希值

时间:2013-11-11 16:30:57

标签: javascript url history.js

我喜欢使用History.js来处理旧浏览器中的历史记录(pushState等),但我需要禁用自动将哈希值转换为“普通”url路径的默认行为。 我的意思是默认情况下脚本将链接#hash更改为链接/哈希。很棒的是,如果推送一个“otherlink”状态,它会为旧浏览器提供#otherlink哈希,所以它仍然可以被处理,但我需要它在页面加载时不自动将链接#hash更改为链接/哈希。 History.js似乎包含一个自动初始化代码,所以我甚至不知道如何使用自定义选项加载它。

具体而言,我需要的是:

  • 页面链接#hash将保持链接#hash
  • History.pushState(...,“#hash”)将推送状态,但页面将是页面#hash not page / hash
  • History.pushState(...,“hash”)将是现代浏览器中的页面/哈希值,但旧版浏览器中的页面#hash(脚本将处理加载适当内容时需要处理的内容)。

我希望这是有道理的。如果不是,我可以提供更多信息。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

https://stackoverflow.com/a/21673425/2903169

引用我之前在今天早些时候给出的答案(保留历史记录中的哈希值。似乎是一个受欢迎的问题)

  

在History.js github repo中,您可以设置强制选项   hashtags为Default

     

History.js Github Readme, Options Link

     

History.options.html4Mode如果为true,将强制HTMl4模式(hashtags)