如何使用window.history.pushState

时间:2017-02-04 10:43:15

标签: javascript jquery url url-rewriting

我尝试过使用

$(document).ready(function(){
    $(".tabbed_navigation li").click(function(){
        $class = $(this).attr('id');
        $class="menu/"+$class;
        console.log($class);
        window.history.pushState("url", "Title", $class);
    });
});

使用此功能,URL将在第一次更新

mysite.com/menu/idname

但从第二次起,它就像这样

mysite.com/menu/menu/idname
mysite.com/menu/menu/menu/idname
mysite.com/menu/menu/menu/idname
mysite.com/menu/menu/menu/menu/idname
mysite.com/menu/menu/menu/menu/menu/idname

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

用此更新您的代码。

$(document).ready(function(){
    $(".tabbed_navigation li").click(function(){
        $class = $(this).attr('id');
        $class="/menu/"+$class;
        window.history.pushState("", "","http://"+document.domain+$class);
    });
});