我已經注意到很少有像soundcloud這樣的網站,當你點擊一個鏈接時,頁面加載就像它只有像ajax那樣的東西,但地址欄中的地址仍然變化。鏈接如何在soundcloud中工作?
例如,當我探索soundcloud上的聲音時,單擊鏈接打開頁面,但背景音樂仍在播放。如果它的ajax,那麼地址欄中的地址如何變化。
我是新手web開發者,想學習這個技巧!
我已經注意到很少有像soundcloud這樣的網站,當你點擊一個鏈接時,頁面加載就像它只有像ajax那樣的東西,但地址欄中的地址仍然變化。鏈接如何在soundcloud中工作?
例如,當我探索soundcloud上的聲音時,單擊鏈接打開頁面,但背景音樂仍在播放。如果它的ajax,那麼地址欄中的地址如何變化。
我是新手web開發者,想學習這個技巧!
支持HTML5的瀏覽器支持名爲pushState/replaceState的新歷史apis,它使javascript可以在不重新加載頁面的情況下控制瀏覽器歷史記錄。在較舊的瀏覽器中,通常使用像location.hash這樣的功能。
看一看這個問題的答案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); };