如何从 URL 中删除锚标记?

Posted

技术标签:

【中文标题】如何从 URL 中删除锚标记?【英文标题】:How do you remove anchor tags from URL? 【发布时间】:2013-12-10 12:18:56 【问题描述】:

我正在尝试删除在切换手风琴或包含指向页面另一部分的锚的链接时使用的锚标记。

http://rivo.wpengine.com/why-rivo/#toggle-id-3

我想删除此 URL 的 #toggle-id-3 部分。

我可以用 .htaccess 文件做点什么吗,也许使用 mod_rewrite?

【问题讨论】:

【参考方案1】:

您不能使用 htaccess 或 mod_rewrite 删除 URL 片段,因为它们从未发送到服务器。就服务器而言,它们不存在。您需要使用 javascript 或其他一些客户端解决方案来删除它们。

例如来自:Remove fragment in URL with JavaScript w/out causing page reload

// remove fragment as much as it can go without adding an entry in browser history:
window.location.replace("#");

// slice off the remaining '#' in html5:    
if (typeof window.history.replaceState == 'function') 
  history.replaceState(, '', window.location.href.slice(0, -1));

【讨论】:

以上是关于如何从 URL 中删除锚标记?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从使用Express创建的CRUD中删除锚标记?

一页导航 - 在 Wordpress 菜单中使用锚标记时删除 url 中的 #

如何在文本C#中用超链接/锚标记替换带有括号的url

如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?

从活动元素之外的所有元素中删除类

使用 JavaScript/jQuery 将 URL 保存在锚标记中?