如何对 URL 隐藏 ID

How to hide ID from URL

我之前在 Stack Overflow 中看到过这类问题,none 其中确实有帮助。我也用谷歌搜索但没有骰子。

我想知道如果用户单击选项卡本身,是否可以从 URL 中隐藏 ID?

这是网页:
www.planet.nu/dev/new-experian/index.html

然后当我点击一个选项卡时,会发生以下情况:
www.planet.nu/dev/new-experian/index.html#dataTab1

我听说使用 Javascript 实际上可以隐藏它,但我不确定如何隐藏。我的客户真的很想隐藏这样的 ID,以免它出现在 URL 上,即使它没有害处。

这是我获得插件的地方:
http://webthemez.com/demo/easy-responsive-tabs/Index.html

如果没有其他解决方案,那么我可能必须为此更改 jQuery 代码。 :(

尝试jquery$("body").scrollTop()函数。它不会在 url 栏中显示 id 并尝试 不要使用很多插件

$('html, body').animate({scrollTop:$('#dividhere').position().top}, 'fast');

您可以使用: window.history.pushState('object or string', 'Title', '/index.html');

或者: window.history.replaceState('object or string', 'Title', '/index.html');

我经常使用它 - 你可以在这里找到更详细的解释:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

我所做的是在 'easyResponsiveTabs.js' 中搜索

var newHash = respTabsId+(parseInt($tabAria.substring(9),10)+1).toString();

将行替换为

var newHash = "";

然后搜索

newHash = '#'+newHash;

将行替换为

newHash = ''+newHash;

尽情享受吧!

你所说的 "id" 是 "hash",散列用于滚动到一个锚点(默认情况下),或者可以被 JavaScript 用来发出类似这样的信号选项卡开关,或内部页面开关,或任何你想要的东西。你并不总是想删除它们(因为它可能会破坏一些 JS 功能)但是如果你确实想要你可以使用:

location.hash = "";

不要使用你不了解的插件。这是 on purpose 制作的。当然你可以修改这个插件 - 在第 24 行将 historyApi 设置为 false,但我建议从头开始编写一些代码并学习 jQuery。简单的选项卡是基础。 0级...不难