2

我的网址生成如下:仅在 ie9 中显示

http://myurl.com/#/categories/posts

如何从 url 中删除 # 并使其http://myurl.com/categories/posts与我的其他页面一样?谢谢。

我可以这样使用吗?我如何检测#因为首页没有#。

if ($.browser.msie  && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#")) 
    {
        document.location.href = String( document.location.href ).replace( /#/, "" );
    }

删除 #/.replace( /#\//, "" );如前所述使用 Kevin B

4

4 回答 4

9

这不是一个真正的 JQuery 工作 - 为此使用普通的 Javascript。

document.location.href = String( document.location.href ).replace( /#/, "" );

编辑 添加@Kevin B的完整答案

document.location.href = String( document.location.href ).replace( "#/", "" );
于 2012-04-05T21:20:28.833 回答
4

只需为锚标记的点击事件添加“return false”。

$("#selectorname").click(function(){
    if ($.browser.msie  && parseInt($.browser.version, 10) === 9 && window.location.href.indexOf("#")) 
    {
        document.location.href = String( document.location.href ).replace( /#/, "" );
    }
    return false; /* This prevents url from # */
});

要不然

<a href="#" onclick='return false'>Hey click me, I'm # free</a>

或者只是让它简单

$("#selectorname").click(function(e){
   /* some statements */
   e.preventDefault();
});

这可以防止不触发默认操作。详细信息在这里

于 2012-12-28T05:51:13.957 回答
2
$("a").attr("href",$("a").attr("href").replace(/#/, "")); 
于 2012-04-05T21:23:06.507 回答
0

<a href="#" onclick="return false">Hey click me, I'm # free</a>做这项工作。我用它在 Bootstrap 动态选项卡切换期间隐藏 #。谢谢

<ul class="nav nav-tabs">
                            <li class="active"><a data-toggle="tab" href="#i-ab" onclick="return false">ab</a></li>
                            <li><a data-toggle="tab" href="#i-cd" onclick="return false">cd</a></li>
                            <li><a data-toggle="tab" href="#i-ef" onclick="return false">ef</a></li>
                        </ul>
于 2019-08-22T09:02:27.450 回答