我發現了很多關於更改url的問題(無需重新加載)。 一些答案是 - 使用插件,使用location.hash
...或重新加載更改地址欄中的URL而無需重新加載
但他們都沒有爲我工作。
在網站上我有一個下拉菜單,並在其更改URL參數應該已經改變。
那麼我現在要做的是:
我想改變:www.foo.com?country=Germany
到www.foo.com?country=Slovenia
無需重新加載。
我試圖實現甚至可能嗎?
我發現了很多關於更改url的問題(無需重新加載)。 一些答案是 - 使用插件,使用location.hash
...或重新加載更改地址欄中的URL而無需重新加載
但他們都沒有爲我工作。
在網站上我有一個下拉菜單,並在其更改URL參數應該已經改變。
那麼我現在要做的是:
我想改變:www.foo.com?country=Germany
到www.foo.com?country=Slovenia
無需重新加載。
我試圖實現甚至可能嗎?
你可以在較新的瀏覽器;在舊版本中,只能更改散列。這似乎是一個好主題的文章: http://html5doctor.com/history-api/
你在找什麼是History
API HTML5提供。它具有history.pushState(...)
,history.popState(...)
等功能,可讓您動態更改網址,而無需完全分配新網址。
它被許多網站使用,包括我猜想,Facebook本身,如果你打開一個聊天框,並在頁面之間導航,聊天框不會重新加載。這意味着所有新內容都是通過Ajax獲取的,但是URL不會改變,是不是?但它確實如此。我認爲他們通過history.pushState(...)
這樣做,只需將新狀態推入歷史堆棧,並且它僅更改頁面的某個部分。你會發現一個很好的教程here。
你想在URL地址欄中更改可視化顯示給用戶的內容嗎?出於什麼目的?我無法想象基於安全性的瀏覽器會允許這樣做。如果你能提供一個目的,也許我們可以提供一個替代方案。 –
我有一個國家(下拉列表)和它的變化,我想改變的網址。目的是什麼?嗯...網站上的所有內容都會更改(不帶)重新加載,所以我也想更改網址。 – Sebastjan
你看過這個答案嗎? http://stackoverflow.com/questions/3338642/updating-address-bar-with-new-url-without-hash-or-reloading-the-page –