2013-03-29 120 views
4

我發現了很多關於更改url的問題(無需重新加載)。 一些答案是 - 使用插件,使用location.hash ...或重新加載更改地址欄中的URL而無需重新加載

但他們都沒有爲我工作。

在網站上我有一個下拉菜單,並在其更改URL參數應該已經改變。

那麼我現在要做的是:

我想改變:www.foo.com?country=Germanywww.foo.com?country=Slovenia無需重新加載。

我試圖實現甚至可能嗎?

+5

你想在URL地址欄中更改可視化顯示給用戶的內容嗎?出於什麼目的?我無法想象基於安全性的瀏覽器會允許這樣做。如果你能提供一個目的,也許我們可以提供一個替代方案。 –

+0

我有一個國家(下拉列表)和它的變化,我想改變的網址。目的是什麼?嗯...網站上的所有內容都會更改(不帶)重新加載,所以我也想更改網址。 – Sebastjan

+2

你看過這個答案嗎? http://stackoverflow.com/questions/3338642/updating-address-bar-with-new-url-without-hash-or-reloading-the-page –

回答

2

你在找什麼是History API HTML5提供。它具有history.pushState(...),history.popState(...)等功能,可讓您動態更改網址,而無需完全分配新網址。

它被許多網站使用,包括我猜想,Facebook本身,如果你打開一個聊天框,並在頁面之間導航,聊天框不會重新加載。這意味着所有新內容都是通過Ajax獲取的,但是URL不會改變,是不是?但它確實如此。我認爲他們通過history.pushState(...)這樣做,只需將新狀態推入歷史堆棧,並且它僅更改頁面的某個部分。你會發現一個很好的教程here

相關問題