我有一个HTML5离线应用程序(即没有服务器端组件/代码)。刷新后检索子窗口参考
它基本上有两个窗口(父母和孩子)。但是,在某些情况下,我需要以编程方式刷新父窗口。发生这种情况时,它会失去对孩子的引用,并且孩子对window.opener的引用不再有效。所以我的想法是,我会序列化子窗口并将其存储在localStorage中。然后,当父母刷新它可以从localStorage拿起窗口引用,并仍然与孩子交互。
问题是,这不起作用(根据我以前的问题Stringify DOMWindow object)。我不能像任何其他对象一样序列化DOM窗口。
那么,我怎样才能让我最近刷新的窗口获得对其前任孩子的参考?
编辑:强调它是一个离线应用程序的事实。没有服务器端组件。
我还应该补充一点,我需要刷新父项的原因是检查应用程序更新(缓存清单中的更改)。由于父页是加载的应用程序的第一页,它基本上管理缓存(事实上,如果在整个浏览器崩溃的任何缓存过程中此窗口关闭,则在Safari中放在旁边)。所以“父母”本质上是“用户加载的第一页”。
这意味着我不能在框架中拥有“父”,因为最顶层的窗口会管理缓存,并且需要刷新才能查找更新。
实际上,我似乎可以使用框架方法,因为刷新应用程序中的任何页面都会触发更新检查。虽然麻烦。
这不是我正在寻找的更新事件(我已经有了一个侦听器),而是您的片段的applicationCache.update部分。谢谢。 – ggutenberg 2010-11-03 14:46:39