我只是想知道,是否有任何可能的方式來動態更改網頁地址欄中顯示的網址?比如,網頁上可能有兩個按鈕,當用戶點擊一個按鈕時,它將(或不會無關緊要)刷新頁面,URL將爲mysite.com/page1,或者如果用戶單擊第二個按鈕按鈕,出現在地址欄中的網址將爲mysite.com/page2?是否可以動態更改網頁的網址?
我不需要它來挖掘域,只是後面的部分。
只是想說,我不想去另一頁。這必須在一頁上完成。使用JS,PHP或通過.htaccess文件完成並不重要,但它只能在一個頁面上完成。
我只是想知道,是否有任何可能的方式來動態更改網頁地址欄中顯示的網址?比如,網頁上可能有兩個按鈕,當用戶點擊一個按鈕時,它將(或不會無關緊要)刷新頁面,URL將爲mysite.com/page1,或者如果用戶單擊第二個按鈕按鈕,出現在地址欄中的網址將爲mysite.com/page2?是否可以動態更改網頁的網址?
我不需要它來挖掘域,只是後面的部分。
只是想說,我不想去另一頁。這必須在一頁上完成。使用JS,PHP或通過.htaccess文件完成並不重要,但它只能在一個頁面上完成。
在更改.location
之外,您只能真正控制window.location.hash
。
window.location.hash = "boo"; http://mysite.com -> http://mysite.com/#boo
這是唯一辦法不去一個新的頁面,而改變URL。改變
window.location.hash
當改變window.location
重定向用戶 window.location.pathname
重定向用戶更改window.location.search
重定向用戶不重定向用戶時:所有其他方法將刷新頁面,或重定向頁面已更改您也可以只ch安格使用相對URL中的非域路徑:
window.location = "page1"; // include forward-slash if necessary
// goes to http://somesite.com/page1
你絕對可以(容易地)服務關閉兩個/page1
和/page2
在同一頁面,並有按鈕分別導航到一個,另 - 「刷新頁面「,如你所說(即從服務器或瀏覽器緩存重新加載它),當然也會相應地改變地址欄中顯示的內容。但是,我沒有看到點這樣做。
我不太明白你想要什麼。
在這兩種情況下,您是否想要顯示相同的頁面,但使用不同的URL?
在這種情況下,您可以編寫一個.htaccess文件重定向到/ link1和/ link2的同一頁面,並將按鈕指向任一鏈接。
只是爲了更新這個問題,以防其他人來。
現在可以使用pushState()
通過JavaScript處理。有幾個庫(如History.js)旨在簡化不同瀏覽器的實現,但目前沒有適當的支持。但是,如果你想看到一個簡單的使用例子但不使用這種庫,隨時檢查出下面的文章上Hawkee
喬納森你是一個stackoverflowin sonofagun! – jay 2010-01-17 06:16:19
謝謝,我想:)嘿嘿。 – Sampson 2010-01-17 06:17:43
我非常感謝你的貢獻。 – jay 2010-01-17 06:21:28