JavaScript 在弹出窗口中关闭父窗口 window.opener.opener = null 原因 5

现在我有一个A页面,然后在A页面中弹出一个窗口,显示B页面。我在B页面中关闭A页面。执行window.opener.opener=null;window.opener.c... 现在我有一个A页面,然后在A页面中弹出一个窗口,显示B页面。我在B页面中关闭A页面。执行
window.opener.opener = null;
window.opener.close();
这样的话可以顺利关闭A页面。
但是如果我将window.opener.opener = null;去掉之后,A页面在关闭时会弹出提示框,提示“您查看的页面正在试图关闭窗口,是否关闭页面”。这是为什么呢?
我用alert(window.opener.opener),提示的明明是undefined啊~~~
希望回答的人能够说明白原因,不要网上乱摘的啊~~~
to finnishare:
B页面是在A页面中用window.open方式打开的.
在B页面中的window.opener是指的A页面.不过window.opener.opener是什么我就不知道了.可是如果不将它置成null,A在关闭的时候就会弹出提示框.
展开
 我来答
finnishare
2010-04-09 · 超过16用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:55.1万
展开全部
想不明白你的window.opener.opener 是个什么

B中指定window.opener就是指定A的,或者直接top

这个东西好似是ie本身的规则,如果不是通过window.open方式打开的窗口,它的句柄应该是单独管理的(我是这么理解的),所以关闭的时候会有提示。你把它设置成null,也就是将这个窗口对象置为了空,那它就可以如同window.open方式打开的窗口一样被close掉。这其实算是一种hack方法。

顺便说下,对于IE8,你的这种关闭窗口的方式也不能完全兼容了,应该是又增加了1-2句语句,也是hack方式,具体想不起来了,我的代码里有,懒得找了,你自己百度吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式