2010-02-04 71 views
1

我有一個頁面有一個選擇框,當選擇一個選項時使用散列修改散列狀態來改變window.location。這允許用戶點擊向前和向後瀏覽不同的選擇選項。所有效果都很好,直到您點擊鏈接離開頁面,然後點擊瀏覽器的後退按鈕嘗試導航回來。瀏覽器(Firefox 3.6)不保持選擇框的選定狀態,它似乎自動恢復到頂部項目。但是,IE 8似乎保持了選定的狀態。Firefox(3.6)選擇框狀態和瀏覽器後退按鈕

另外,當使用後退按鈕時,document.ready(jquery)事件不會被觸發,所以看起來沒有辦法使用該事件來解決此問題。有任何想法嗎?

+1

查看此前一個問題,獲取一些有趣的解決方案,以便在使用後退按鈕訪問頁面時運行$(document).ready():http://stackoverflow.com/questions/158319/cross-瀏覽器上的事件和後退按鈕/ 201406#201406 – emmychan 2010-02-04 05:57:26

+0

在body標籤中使用onunload =「」做了訣竅。謝謝! – Chris 2010-02-04 15:14:33

回答

2

請不要因爲我在my answer中描述的原因而盲目地使用卸載事件「黑客」。

您的問題似乎是正確的解決方案將包括兩個部分:

  1. 添加pageshow event handler,設置選擇對Firefox的價值。
  2. 開始使用一個簡化的問題測試用例,並在此處顯示,然後在瀏覽器供應商中提供有關它的錯誤。從你的描述看來,這似乎不是這種行爲的目的。