2013-07-26 10 views
0

當用戶登錄我的頁面時,比如www.spagepage.com,我想顯示一些隨機內容。但是我希望這些內容能夠加入書籤,因此網址應該在客戶端上更改爲「www.spagepage.com/?showparts=2,7,12」,其中的數字可能會有所不同。有沒有辦法改變瀏覽器的網址,而不需要將第一個和原始請求重定向到服務器?

我不想在用戶每次訪問'www.spagepage.com'時都做一次重定向,以便它將用戶引用到'www.spagepage.com/?showparts=2,7,12',因爲這將需要2次與服務器的往返通信,這使得用戶看起來很慢。
所以有一種方法可以讓用戶的瀏覽器在瀏覽'www.somepage'時,在一個請求和響應中顯示URL爲'www.spagepage.com/?showparts=1,4,6,30'。 COM「?

我已經閱讀此線程:Is there a way to change the browser's address bar without refreshing the page?

但是,線程是關於用戶交互後更改的頁面,所以以後的頁面已經被加載在客戶端上。

我的問題是關於當客戶端第一次導航到站點時,是否有響應代碼或者在從服務器發送到客戶端的第一個響應中更改瀏覽器的URL。

我已閱讀關於history.js(https://github.com/browserstate/history.js),但我想知道在響應代碼中是否有更簡單的解決方案。如果唯一的解決方案是使用history.js,我應該怎麼做?我在想,我可以添加一個JavaScript調用從服務器發送的HTML頁面如下:

History.pushState(null, null, "?showparts=1,4,6,30"); 

任何指針,將不勝感激。

感謝,

基思

回答

0

我的理解是,你可以使用歷史API,你在這裏說明解決您所描述的問題。你試過了嗎?你有什麼樣的問題?

相關問題