0

我需要从我的 URL 中删除 #,以便完整的 URL 是 example.com/sub-page-title 而不是 example.com/#sub-page-title。

我能够使用 substr(31) 获得一个重复的 URL,31 是 URL 的长度,包括 http://... 但我确信这不是理想的方法。

注意:我无法刷新页面。

单击时,一个外部页面被加载到一个 div 中(然后滑动到位)......一旦可见,我希望 URL 反映这一点(不带 #)。这样前进并点击“返回”会将用户带到实际页面。

代码:

    $(document).ready(function(){

    var hash = window.location.hash.substr(1);
    var href = $('a.load').each(function(){
        var href = $(this).attr('href');
    });


    $('a.load').click(function(){

    var toLoad = $(this).attr('href')+' #project-details';
        $('.wide-frame').animate({
            left: -985,
            duration: 'slow'
        })
    $('#project-details article').hide();   
    $('#project-details').fadeIn('normal',loadContent);


    window.location.hash = $(this).attr('href').substr(31);

    function loadContent() {
        $('#project-details').load(toLoad,showNewContent)
    }
    function showNewContent() { 
        $('#project-details').show('normal');
        $.getScript("<?php bloginfo('template_directory'); ?>/scripts/ajax-control.js");
    }
    return false;

    }); 

});

我不知道这是否相关,但我还在使用带有 jQ​​uery BBQ 的哈希历史来实现其他一些导航功能。

4

1 回答 1

0

一个漂亮的小RegExp怎么样?

否则只需使用replace()方法。

像这样 :

var string = "url/#hash";
string.replace('#','');
于 2013-03-13T21:07:19.027 回答