要消除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()的提示窗口


基础教程推荐
- 浅谈async、defer以普通script加载的区别 2023-07-09
- 解决ajax的delete、put方法接收不到参数的问题方法 2023-02-22
- Ajax 向数据库修改和添加功能(较简答) 2023-02-01
- JavaScript实现双向链表过程解析 2023-08-08
- MUi框架ajax请求WebService接口实例 2023-02-14
- IE8用ajax访问不能每次都刷新的问题 2023-01-20
- 使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE) 2023-12-19
- ajax实现无刷新省市县三级联动 2022-12-28
- checkbox勾选判断代码分析 2023-12-20
- jquery实现网页定位导航 2023-12-12