要消除window.close()的提示窗口,我们需要了解以下几点:
要消除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()的提示窗口
- JavaScript解构赋值详解 2023-08-12
- 初识HTML5(一) 2023-10-27
- JS获取屏幕高度的简单实现代码 2023-12-01
- 第11天:不用表格的菜单 2022-11-04
- 全面解析$.Ajax()方法参数(推荐) 2023-01-20
- 使用CSS3来匹配横屏竖屏的简单方法 2023-12-15
- linux – wkhtmltopdf – QXcbConnection:无法连接到显示器 2023-10-25
- 爬取今日头条Ajax请求 2023-02-23
- JavaScript求解最长回文子串的方法分享 2022-10-21
- JavaScript 拖拽实现(附注释),最经典简单短小精悍! 2023-12-02