要消除window.close()
的提示窗口,我们需要了解以下几点:
- 当前窗口和弹出窗口必须为同一域名或者同源,否则无法关闭弹出窗口;
- 浏览器的安全策略会对
window.close()
进行限制。只有在窗口是由脚本打开的,才能使用window.close()
关闭窗口。
下面我们来讨论在不弹出提示框的情况下,如何使用JavaScript关闭窗口。
方法一:使用window.opener
在打开弹出窗口的脚本中,我们可以将这个窗口的window
对象存储在当前窗口的window
对象中,使用window.opener
可以获取到这个对象。要关闭弹出窗口,我们只需要在弹出窗口中调用window.opener.close()
即可。
示例1:
在当前页面中打开弹出窗口:
var popup = window.open('popup.html', 'popup', 'width=320,height=240');
// 把window对象存储到当前的window.opener中
window.popup = popup;
在弹出窗口的脚本中调用window.opener.close()
来关闭弹出窗口:
// 关闭window.opener,即当前窗口
window.opener.close();
方法二:使用window.parent
在打开弹出窗口的脚本中,我们可以将这个窗口的window
对象存储在当前窗口的window
对象中,使用window.parent
可以获取到这个对象。要关闭弹出窗口,我们只需要在弹出窗口中调用window.parent.close()
即可。
示例2:
同样在当前页面中打开弹出窗口,并把当前窗口的window
对象存储到父窗口的window
对象中:
var popup = window.open('popup.html', 'popup', 'width=320,height=240');
window.parentPopup = window;
在弹出窗口的脚本中调用window.parent.close()
来关闭弹出窗口:
// 关闭window.parent,即父窗口
window.parent.close();
以上是两种常用的消除window.close()
提示框的方法。但需要注意的是,由于浏览器的安全限制,这些方法并不适用于所有浏览器和所有情况。在使用时应根据具体情况做出决定。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript消除window.close()的提示窗口 - Python技术站