2013-01-05 68 views
1

我想在當前頁面的預覽圖像的彈出窗口中打開大圖時更改網址。我不想使用window.location.hash功能,因爲我想通過PHP接下來使用新的URL進行操作,並且我發現這個複雜的東西使它成爲散列。所以,我發現我可以使用HTML5功能來做到這一點。無哈希值的網址更改

window.history.pushState(「object or string」, 「Title」, 「/new-url」); 

我的問題是:我想從頁面中刪除這個新的url,當我關閉大圖像。我怎樣才能做到這一點,而不使用

window.history.back(); 

謝謝。

+1

我依稀記得它叫'流行狀態'。嘗試使用該短語搜索。 – TRiG

回答

1

關閉圖像是而不是類似於在瀏覽器中按下後退按鈕。這類似於追溯到原始頁面的另一個鏈接。所以沒有必要回去。只需pushState再回到原始網址。

另一方面,如果人確實單擊瀏覽器中的後退按鈕,您希望將它們還原到原始頁面。所以你要聽的popstate事件,並且,當它的發射,運行一個函數,它會刪除彈出圖像:

window.addEventListener("popstate", function(e) { 
    hideimage(); 
} 

more about the HTML5 history API

+0

我正在尋找window.history.pushState(「object or string」,「Title」,「original url」);但我不知道如何做到這一點?這不起作用window.history.pushState(「對象或字符串」,「標題」,「原始」「); –

+0

是的,這應該做到這一點。 –