我有一个<div>
动态创建的,它包含一个<iframe>
. <iframe>
可能会自行关闭,此时将删除<div>
。
到目前为止,我有:
var div = document.createElement('div'), ifr = document.createElement('iframe');
// some styles and stuff here, including ifr.src
ifr.contentWindow.container = div; // Note that domains are the same
// within the iframe's code, possibly a "close" link or after completing an operation
container.parentNode.removeChild(container);
有用。但前提是 iframe 中的页面是开始时的页面。如果一个链接被点击到另一个页面,window.container
则不再定义。
我知道我可以window.name
用来将数据持久存储到窗口,但它仅限于可以序列化的数据。据我所知,除了为它分配一个 ID 并存储它之外,你不能序列化一个 DOM 节点。我想避免这种任意的 ID,所以如果有人能提出更好的解决方案,我将不胜感激。