如何从URL隐藏ID

时间:2015-02-11 18:06:05

标签: javascript jquery html url tabs

我之前在Stack Overflow中看过这种类型的问题,但没有一个真正有用。我也用谷歌搜索但没有骰子。

我想知道如果用户点击标签本身,是否可以隐藏网址中的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代码。 :(

5 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用:    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

答案 2 :(得分:0)

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

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

替换该行
var newHash = "";

然后搜索

newHash = '#'+newHash;

替换该行
newHash = ''+newHash;

享受!

答案 3 :(得分:0)

你所谓的" id"是一个" hash",哈希用于滚动到一个锚(默认情况下),或者可以被JavaScript用来表示选项卡开关,内部页面切换,或任何你想要的东西。你并不总是想要删除它们(因为它可能会破坏一些JS功能),但如果你愿意,你可以使用:

location.hash = "";

答案 4 :(得分:0)

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