在Firefox中,如果更改了iframe的window.location,則會將其填充到頂級窗口的歷史記錄中。Firefox後退按鈕和iframes
如果用戶現在單擊瀏覽器後退按鈕,iframe的內容將會改變,而不是瀏覽器返回到以前的HTML頁面。
對於某些體系結構,這是完全錯誤的。
JavaScript有沒有辦法阻止Firefox(3.x)這樣做?
(請堅持只是這個問題,不爲什麼/時/ I幀如何與其他技術應該被使用。)
在Firefox中,如果更改了iframe的window.location,則會將其填充到頂級窗口的歷史記錄中。Firefox後退按鈕和iframes
如果用戶現在單擊瀏覽器後退按鈕,iframe的內容將會改變,而不是瀏覽器返回到以前的HTML頁面。
對於某些體系結構,這是完全錯誤的。
JavaScript有沒有辦法阻止Firefox(3.x)這樣做?
(請堅持只是這個問題,不爲什麼/時/ I幀如何與其他技術應該被使用。)
是否有使用JavaScript沒有辦法阻止火狐從這樣做呢?
鍵入地址欄about:config
,然後查找「browser.cache.memory.enable」選項並將該值更改爲false。然後使用選項「browser.cache.disk.enable」禁用文件系統上的緩存。在那之後,這個行爲者應該離開,到目前爲止這個理論。
P.S .:我從來沒有親自嘗試過。
然後沒有辦法,因爲歷史對象是最瀏覽器中的限制對象。 – reporter
我有同樣的問題,並研究其周圍可能的方式,當我讀到這一點。我不知道你是否解決了這個問題,但我想在卸載IFrame的窗口時使用unload事件通知父窗口。
如果iframe中由一個「有效」的方法關閉時,變量被設置在父說的IFRAME預計卸載
如果父重新加載/改變一個變量設置的IFRAME的src說預計卸載
如果在iframe中發生意外的卸載,我認爲它是後退按鈕並相應地更新父頁面(例如,在父項的歷史記錄中跳回另一個步驟或執行其他操作)。
這裏唯一的醜陋情況是,如果父頁面被卸載並且iframe也會拋出卸載 - 這取決於父頁面更改的速度,您可能會收到父類的iframe卸載處理程序處於或未被觸發的競爭狀態。
這是另一個同樣的問題,但它有更多的信息和背景信息的問題:http://stackoverflow.com/q/2245883/980945 –