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在关闭的时候就会弹出提示框. 展开
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在关闭的时候就会弹出提示框. 展开
1个回答
展开全部
想不明白你的window.opener.opener 是个什么
B中指定window.opener就是指定A的,或者直接top
这个东西好似是ie本身的规则,如果不是通过window.open方式打开的窗口,它的句柄应该是单独管理的(我是这么理解的),所以关闭的时候会有提示。你把它设置成null,也就是将这个窗口对象置为了空,那它就可以如同window.open方式打开的窗口一样被close掉。这其实算是一种hack方法。
顺便说下,对于IE8,你的这种关闭窗口的方式也不能完全兼容了,应该是又增加了1-2句语句,也是hack方式,具体想不起来了,我的代码里有,懒得找了,你自己百度吧
B中指定window.opener就是指定A的,或者直接top
这个东西好似是ie本身的规则,如果不是通过window.open方式打开的窗口,它的句柄应该是单独管理的(我是这么理解的),所以关闭的时候会有提示。你把它设置成null,也就是将这个窗口对象置为了空,那它就可以如同window.open方式打开的窗口一样被close掉。这其实算是一种hack方法。
顺便说下,对于IE8,你的这种关闭窗口的方式也不能完全兼容了,应该是又增加了1-2句语句,也是hack方式,具体想不起来了,我的代码里有,懒得找了,你自己百度吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询