var win = window.open();
我将win参考存储在一个包含所有其他打开窗口的数组中.
一切正常,直到揭幕战焕然一新.
所以我想要实现的是在加载“主”窗口时取回所有对打开的窗口的引用.
要实现这一点,我必须:
1.在卸载时保留所有引用
2.在加载时获取引用
3.使用新的开启者更新引用
可能吗?如果是这样的话?
解决方法
你问的问题一直是一个问题,因为回过头来回到最初的HTTP协议.
简短的回答是否定的,这是不可能的.刷新父级时,对子级的所有引用都将丢失.在所有情况下,这是非常现实的….父母是“刷新”….孩子得到父母留下的所有资源…对不起,关闭主题,好吧,是的. Web是无状态的,因此一旦刷新页面,重新加载,关闭,打开或附加任何其他动词,该页面将被视为新文档.
这在chrome / FireFox中运行良好,但在IE中不起作用.
像下面这样的东西可以工作,但为了重新连接孩子/父母之间的关系,必须从孩子那里完成.下面的脚本/标记将举例说明.
所以我不会用它,但它只是作为一个例子.
脚步:
>开放孩子
>去儿童
>刷新父级
> **父母 – >儿童关系丢失了.
> **儿童 – >父母关系仍然存在.
>链接父母
>转到父页面
>检查关系
> **您将看到父级现在不为空
>留在父母身边
>刷新孩子
HTMLPage.htm:
<input type="button" onclick="openChild();" value="Open Child" /> <input type="button" onclick="refreshParent();" value="Refresh Parent" /> <input type="button" onclick="linkParent();" value="Link Parent" /> <input type="button" onclick="checkRelationship();" value="Check Relationship" /> <input type="button" onclick="refreshChild();" value="Refresh Child" /> <script type="text/javascript" language="javascript"> var child; function openChild() { child = window.open("HTMLPage.htm"); } function refreshParent() { alert("refreshing parent"); window.opener.location.href = window.opener.location.href; } function linkParent() { window.opener.child = window; checkRelationship(); } function checkRelationship() { alert("Parent: " + window.opener + ". Children:" + child); } function refreshChild() { child.location.href = child.location.href; } </script>
那么我的下一个问题是:
你想用这个来实现什么?当情况真的需要时,我全都是使用模态窗口/弹出窗口,但是你需要它们的数组吗?
父页面“需要”刷新吗?你可以在父页面上粘贴iframe并刷新(IE.文件上传等主页不需要刷新的地方).
我远不是一个苹果粉丝男孩,但这个链接确实提供了使用IFrames脚本编写的很好的见解:http://developer.apple.com/internet/webcontent/iframe.html
我希望这有帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。