更改HTML4浏览器的History.js的行为

时间:2013-10-08 15:49:59

标签: javascript history.js html4

我正在使用history.js插件(https://github.com/browserstate/history.js/)在打开时为页面上的元素提供某个唯一的URL。

正如预期的那样,这在HTML5浏览器中运行良好,但插件并不能完全满足我在HTML4浏览器中的需求(换句话说,就是Internet Explorer)。

基本上,我遇到了插件文档中概述的相同陷阱,如下所示:

  

如果使用哈希值,这些问题是不可避免的。

     如果我们没有在主页上启动,

网址会受到污染

     

虽然,我的URL并不像这样糟糕,除了抛出的哈希之外,url是可用的。在最后删除suid也会很好,因为在我的情况下它不是必需的,但如果不可能的话应该没问题。

以下是我的网址需要:

http://domain.com/sitename/main/item/109

这是IE中的结果:

http://domain.com/sitename/#main/idea/109?&_suid=13812466306670658 ...

据我可以从文档中收集的是,我唯一的选择是禁用HTML4回退,这意味着IE中不会发生任何事情。

我想知道是否有办法放弃HTML4后备选项,但是仍然在其中使用 HTML5解决方案(以相同的方式更改网址,只需使用不同的方法..我知道用于HTML5解决方案的方法不起作用)。或者,如果还有其他方法可以改变HTML4解决方案的实现方式,那么可以根据项目的需要进行改进吗?

更新:在我自己的研究中,我似乎发现在不使用哈希的情况下无法更改符合HTML4的浏览器网址。我目前正在将一些变通方法集成到我的项目中,以便我们的URL使用哈希值。我仍然打开这个问题,因为这不是一个真正的答案,我甚至不知道我是否100%正确。

1 个答案:

答案 0 :(得分:0)

如果仍然需要,为您提供更清晰的URL的部分答案将是下面的解决方案。 请尝试以下有关https://github.com/browserstate/history.js/

的代码
History.options.disableSuid 

强制历史不要附加suid