【问题标题】:javascript get rid of the location hash in the urljavascript摆脱url中的位置哈希
【发布时间】:2013-08-01 15:17:27
【问题描述】:

如果有人通过这种网址访问我的网站:“www.xxx.com/#somehash”,我希望页面顶部打开为“www.xxx.com”

为此,我在准备好文档时使用此脚本:

location.hash="";

它几乎可以作为“www.xxx.com/#”打开网站

但我就是无法摆脱最后的“/#”

我能做什么?

谢谢。

编辑:我不想刷新页面或使用任何 HTML5 专有脚本,只需找到一个与上述相同但没有哈希终止的脚本。

【问题讨论】:

  • 如果您使用 Apache,您是否考虑过 mod_rewrite 解决方案?
  • @JerzyZawadzki:这不是重复的,因为我从未要求刷新页面。您的链接没有回答我的问题。对于某些人来说,这是一个可以接受的解决方法,但不是一个有效的答案。
  • @thatidiotguy:我只想在用户第一次打开网站或刷新页面时摆脱哈希。在网站内,网址必须保持原样。我的整个脚本允许这样做,只是在刷新或打开网站后我得到了额外的哈希值。我不能肯定,但我相信 mod_rewrite 每次我在我的网站中使用导航时都会摆脱哈希值。

标签: javascript url hash location


【解决方案1】:
history.pushState('', document.title, window.location.pathname);

通过:Clearing URL hash

【讨论】:

  • 另见stackoverflow.com/questions/1397329/… 中的第二个帖子不是公认的答案
  • 谢谢,我阅读了所有的建议,但这个不是跨浏览器的。我已经使用了这个插件:benalman.com/projects/jquery-hashchange-plugin,它在我需要的每一个浏览器中都能正常工作。我最后关心的是在所有主要浏览器(包括 IE7 和 IE8 在内)的情况下在不刷新页面的情况下摆脱散列。
猜你喜欢
  • 2013-07-22
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多