JS setTimeout与opener配合刷新父窗口详解

作者:代码拾荒

时间:2026-10-27

浏览:219

本文详解JavaScript中setTimeout与opener属性的配合使用。通过示例展示如何在新窗口中利用window.opener引用父窗口,并在延迟执行特定操作后调用location.reload()刷新父页面。重点解析opener的引用机制、null值判断及常见错误处理,确保跨窗口通信的稳定性。

文章目录

setTimeout与opener配合刷新父窗口示例

代码如下:

 
$("#saveInfo").show();
setTimeout( '$("#saveInfo").hide();',3000);
if(opener&& !opener.closed){
opener.location.reload(true);
} 

setTimeout函数用于指定延迟多久后执行某个方法,具体使用可参考:https://www.jb51.net/article/35535.htm



opener属性用于指代parent,即父窗口。例如,当A页面通过iframe或frame嵌入B页面时,A页面所在的窗口即为B页面的parent。在JavaScript中,window.opener仅是对弹出窗口所属母窗口的一个引用。假设在a.html中通过点击按钮等方式使用window.open打开新窗口b.html,那么在b.html中即可通过window.opener(可简写为opener)来引用a.html,包括a.html的document等对象,进而操作a.html的内容。


如果该引用失败,则返回null。因此在调用opener相关对象前,必须先判断对象是否为null,否则会出现“对象为空或者不存在”的JavaScript错误。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章