【发布时间】:2013-09-10 07:33:41
【问题描述】:
我使用 History.js 来推送一个 url,但在 IE 中它会附加页面名称。
如果我的原始网址是: http://www.mydomain.com/Home.aspx
然后我执行以下操作:
var url = window.location.protocol + '//' + window.location.host + '/Home.aspx?id=2&pl=4'; History.pushState(null, null, url)
在 Chrome 中,我的网址变为:http://www.mydomain.com/Home.aspx?id=2&pl=4
在 IE 8 中,我的网址变为:http://www.mydomain.com/Home.aspx#Home.aspx?id=2&pl=4
如果我将 IE 8 url 粘贴到 chrom 中,我的代码将失败...
首先,正确的 html 4 url 应该是什么样子,其次,我该如何解决?
【问题讨论】:
-
您的问题是 # 之后的所有内容都没有发送到服务器。所以 mydomain.com/Home.aspx 永远不会得到哈希后的 id 和 pl。
-
你得到的是预期的,我在我们的客户网站上使用它,它的行为方式与你给出的相同,而且效果很好。带有 Hash 的 URL 也可以在 Chrome 浏览器中正常工作。
标签: url history.js html4