我之前在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代码。 :(
答案 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行设置historyApi
到false
,但我建议从头开始编写一些代码并学习jQuery。简单的标签是基础。等级0 ......这并不难。