我正在使用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%正确。
答案 0 :(得分:0)
如果仍然需要,为您提供更清晰的URL的部分答案将是下面的解决方案。 请尝试以下有关https://github.com/browserstate/history.js/
的代码History.options.disableSuid
强制历史不要附加suid