我有一個HTML5離線應用程序(即沒有服務器端組件/代碼)。刷新後檢索子窗口參考
它基本上有兩個窗口(父母和孩子)。但是,在某些情況下,我需要以編程方式刷新父窗口。發生這種情況時,它會失去對孩子的引用,並且孩子對window.opener的引用不再有效。所以我的想法是,我會序列化子窗口並將其存儲在localStorage中。然後,當父母刷新它可以從localStorage拿起窗口引用,並仍然與孩子交互。
問題是,這不起作用(根據我以前的問題Stringify DOMWindow object)。我不能像任何其他對象一樣序列化DOM窗口。
那麼,我怎樣才能讓我最近刷新的窗口獲得對其前任孩子的參考?
編輯:強調它是一個離線應用程序的事實。沒有服務器端組件。
我還應該補充一點,我需要刷新父項的原因是檢查應用程序更新(緩存清單中的更改)。由於父頁是加載的應用程序的第一頁,它基本上管理緩存(事實上,如果在整個瀏覽器崩潰的任何緩存過程中此窗口關閉,則在Safari中放在旁邊)。所以「父母」本質上是「用戶加載的第一頁」。
這意味着我不能在框架中擁有「父」,因爲最頂層的窗口會管理緩存,並且需要刷新才能查找更新。
實際上,我似乎可以使用框架方法,因爲刷新應用程序中的任何頁面都會觸發更新檢查。雖然麻煩。
這不是我正在尋找的更新事件(我已經有了一個偵聽器),而是您的片段的applicationCache.update部分。謝謝。 – ggutenberg 2010-11-03 14:46:39