2013-05-29 65 views
0

我已經注意到很少有像soundcloud這樣的網站,當你點擊一個鏈接時,頁面加載就像它只有像ajax那樣的東西,但地址欄中的地址仍然變化。鏈接如何在soundcloud中工作?

例如,當我探索soundcloud上的聲音時,單擊鏈接打開頁面,但背景音樂仍在播放。如果它的ajax,那麼地址欄中的地址如何變化。

我是新手web開發者,想學習這個技巧!

回答

1

退房history.pushState

支持HTML5的瀏覽器支持名爲pushState/replaceState的新歷史apis,它使javascript可以在不重新加載頁面的情況下控制瀏覽器歷史記錄。在較舊的瀏覽器中,通常使用像location.hash這樣的功能。

0

看一看這個問題的答案https://stackoverflow.com/a/4059844/1558255

在這裏面你可以看到的例子在HTML5使用window.history如阿爾弗雷德Nerstu的回答如下。

window.history.pushState('Object', 'Title', '/new-url'); 

如果你只是想改變URL,而不能回去

window.history.replaceState('Object', 'Title', '/another-new-url'); 

對象可用於AJAX導航:

window.history.pushState({ id: 35 }, 'Viewing item #35', '/item/35'); 

    window.onpopstate = function (e) { 
    var id = e.state.id; 
    load_item(id); 
    };