【问题标题】:How to hide ID from URL如何从 URL 中隐藏 ID
【发布时间】:2015-04-12 05:36:01
【问题描述】:

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

我想知道如果用户单击选项卡本身,是否可以从 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 代码。 :(

【问题讨论】:

    标签: javascript jquery html url tabs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用: window.history.pushState('对象或字符串', '标题', '/index.html');

      或者: window.history.replaceState('对象或字符串', '标题', '/index.html');

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

      【讨论】:

        【解决方案3】:

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

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

        替换该行
        var newHash = "";
        

        然后搜索

        newHash = '#'+newHash;
        

        替换该行
        newHash = ''+newHash;
        

        享受吧!

        【讨论】:

        • 谢谢!这绝对帮助了我! :D
        【解决方案4】:

        你所说的“id”是一个“散列”,散列用于滚动到一个锚点(默认情况下),或者可以被 JavaScript 用来表示标签切换、内部页面切换或真的任何你想要的。您并不总是想删除它们(因为它可能会破坏某些 JS 功能),但如果您愿意,可以使用:

        location.hash = "";
        

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2012-08-15
            • 1970-01-01
            • 2018-07-08
            • 1970-01-01
            • 2017-01-19
            • 1970-01-01
            • 1970-01-01
            • 2021-01-06
            • 1970-01-01
            相关资源
            最近更新 更多