如何防止片段标识符显示在url中

时间:2014-01-26 14:53:25

标签: javascript jquery css css3 fragment-identifier

我有这样的链接

    <a href="#login_form">Log in</a>

点击链接后,网址会从

更改
   http:/domain.com

   http://domain.com#login_form

并弹出登录表单。 但我不希望在网址中显示哈希标记。如何使用java脚本执行此操作?没有用于显示弹出的登录表单的java脚本。

登录表单是这样的。

    <a href="#x" class="overlay" id="login_form"></a>
    <div class="box">
    <h2>LOG IN</h2>
    <form name="login" action="" method="post">
    </form>
    </div>

行。这是JS FIDDLE。请检查。

http://jsfiddle.net/vq24P/1/

1 个答案:

答案 0 :(得分:2)

它被称为文档片段,而不是哈希标记,但是whatevs。

如果你说,“没有java脚本[用于显示登录表单”],我只能假设你使用CSS :target伪类来切换可见性?在那种情况下,你无能为力。片段必须位于要显示的元素的URL中。

相反,请使用一些JavaScript为您进行切换。类似的东西:

<a href="javascript:void(document.getElementById('login_form').style.display = 'block');">Log in</a>

(警告:非常糟糕的例子,但它应该让一般的想法工作)

您需要使用id="login"代替name="login"