2013-10-11 144 views
3

我使用:target選擇器在css3中創建圖像滑塊。我有一個正在執行這一行的JavaScript如何不保留html定位器的歷史記錄

window.location = "#image" + image; 

的問題是,如果我點擊我的瀏覽器的後退按鈕,它顯示了滑塊的先前圖像下一個和上一個按鈕。我想要後退按鈕轉到上一頁,而不是上一頁。

感謝您的幫助

+0

SOOOO,究竟爲什麼你改變了URL的主題標籤,如果你不需要#標籤的歷史? –

+4

以及最簡單的事情將停止更改網址,並找到另一種方式來滑動圖像 – Bobby5193

+0

我同意,我可能會將其更改爲一個jQuery的滑塊,而不是css3 –

回答

3

使用History API

history.replaceState({}, document.title, "#image" + image); 

history.replaceState()操作酷似history.pushState()除了replaceState()修改當前的歷史條目,而不是創建的一個新的。

當您想要更新當前歷史記錄條目的狀態對象或URL以響應某些用戶操作時,replaceState()特別有用。

+0

我試過了,但它沒有觸發目標選擇器 –

+0

@ Marc-AndréTherrien對不起,我錯過了它。我認爲沒有辦法使用':target'來避免瀏覽器歷史記錄。 – Pavlo

+0

我不這麼認爲,我可能會改變整個事情 –

相關問題