【发布时间】:2010-09-21 02:35:32
【问题描述】:
背景:我有一个 HTML 页面,可以让您扩展某些内容。由于这种扩展只需要加载页面的一小部分,它是通过 JavaScript 完成的,而不是通过定向到新的 URL/HTML 页面。但是,作为奖励,用户可以永久链接到此类扩展部分,即向其他人发送类似的 URL
并立即为该其他用户打开“foobar”类别。这可以使用 parent.location.hash = 'foobar',所以这部分很好。
现在的问题:当用户关闭页面上的这样一个类别时,我想再次清空URL片段,即将http://example.com/#foobar变成http://example.com/以更新永久链接显示。但是,使用parent.location.hash = '' 这样做会导致重新加载整个页面(例如在 Firefox 3 中),我想避免这种情况。使用window.location.href = '/#' 不会触发页面重新加载,但会在 URL 中留下看起来不太好看的“#”符号。那么在流行的浏览器中是否有一种方法可以在不触发页面刷新的情况下通过 JavaScript 删除包含“#”符号的 URL 锚点?
【问题讨论】:
-
这个related question 读起来很有趣。
标签: javascript html url fragment-identifier