从导航栏中删除哈希

时间:2011-07-19 12:12:39

标签: javascript jquery hash

我正在使用Jquery成功将外部内容加载到我的div中,唯一的问题是我希望不显示:“PastURL +#+ NewURL”只是NewURL

例如,现在,如果我点击一些链接,我将会:http://mydomain.com/#http://mydomain.com/loaded-content

我想展示的只是:http://mydomain.com/loaded-content

这是我的代码:

        jQuery(document).ready(function(){

        jQuery('.portfolio-item a').live('click', function(e){
            e.preventDefault();
            var link = jQuery(this).attr('href');
            jQuery('#contenthome').fadeOut(500).load(link + ' #content-wrapper', function(){ jQuery('#contenthome').fadeIn(500); });
            $('html, body').animate({scrollTop:0}, 'slow');
            window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);

        });

    });

有什么想法吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下脚本重写地址栏中的网址:

注意:

  • 您只能编写同一域的路径
  • 仅在现代浏览器(如Chrome,FF 5等)
  • 中支持此功能

-

try {
    if (window.location.search.substring(1).length == 0) { // if no query string
        window.history.pushState('page', browser_title, browser_url);
    }
}
catch (e) { /* browser doesn't support */ }