// 刷新父页面。此段代码放在被弹出的页面 function refreshOpener() { var win = top.window; try { if (win.opener) win.opener.location.reload();//或parent.location.reload(); } catch (ex) { } } ...................... 根据给定的信息,我们可以深入探讨如何使用JavaScript来刷新父页面,并进一步分析提供的示例代码以及扩展其他相关的知识点。 ### JS刷新父页面 在JavaScript中,我们经常遇到需要在一个弹出的窗口(子窗口)中执行操作后刷新父窗口的情况。这在很多应用场景中都非常有用,比如表单提交后的页面刷新、数据更新后的页面刷新等。实现这一功能的关键是能够访问到父窗口对象,并调用其`location.reload()`方法。 #### 代码解析 首先来看一下提供的代码片段: ```javascript function refreshOpener() { var win = top.window; try { if (win.opener) win.opener.location.reload(); // 或者使用 parent.location.reload(); } catch (ex) { } } ``` 这段代码定义了一个名为`refreshOpener`的函数,用于刷新父窗口。具体分析如下: 1. **获取顶层窗口**:通过`top.window`获取顶层窗口对象。 2. **检查`opener`属性**:使用`if (win.opener)`检查当前窗口是否由另一个窗口打开。如果是,则表示存在一个父窗口。 3. **刷新父窗口**:如果存在父窗口,则调用`win.opener.location.reload()`来刷新父窗口。这里还提供了一个备选方案`parent.location.reload()`,同样可以达到刷新父窗口的目的。 4. **异常处理**:使用`try...catch`语句来捕获可能发生的错误,如跨域问题导致无法访问父窗口时,会抛出异常,此时可以通过捕获异常来避免程序崩溃。 #### 应用场景 这种技术可以广泛应用于各种场景中,例如: - **表单提交后刷新父窗口**:用户在子窗口中完成表单填写并提交后,通常希望看到的是父窗口中的内容被更新。 - **数据更新后的页面刷新**:当子窗口完成了一些数据操作,如删除、添加等操作后,需要立即反映在父窗口中。 #### 扩展知识点 1. **`window.opener`与`window.parent`的区别**: - `window.opener`:指的是打开当前窗口的窗口对象。只有当一个窗口是由另一个窗口通过`window.open()`打开时,该窗口才有`opener`属性。 - `window.parent`:指的是当前窗口的父级窗口。如果当前窗口是顶级窗口,则`parent`指向自身;如果当前窗口是嵌套在框架或iframe中的,则`parent`指向包含它的父框架或窗口。 2. **安全性和限制**: - 当涉及到跨域请求时,由于同源策略的限制,不能直接访问其他域下的窗口对象。 - 在某些浏览器中,出于安全考虑,弹出窗口可能不允许直接操作父窗口,除非是明确由父窗口创建的。 3. **其他刷新方法**: - 使用`window.location.href = window.location.href;`也可以达到刷新页面的效果,但这种方法适用于当前窗口而不是父窗口。 - 使用`window.location.replace()`方法可以替换当前历史记录中的URL,从而实现刷新效果。 通过上述方法可以在子窗口中轻松地刷新父窗口,这对于提升用户体验和实现特定功能非常有帮助。同时,我们也需要注意一些安全性和限制问题,确保代码能够在不同的浏览器环境中稳定运行。
- mydskyhorse2013-03-14非常感谢,可以使用。。。。
- 粉丝: 117
- 资源: 268
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Unity In-game Debug Console
- (3292010)Java图书管理系统(源码)
- 新建 Microsoft Word 文档
- (176102016)MATLAB代码:考虑灵活性供需不确定性的储能参与电网调峰优化配置 关键词:储能优化配置 电网调峰 风电场景生成 灵活性供需不
- SINAMICS S120驱动第三方直线永磁同步电机系列视频-配置和优化.mp4
- (175601006)51单片机交通信号灯系统设计
- Starter SINAMICS S120驱动第三方直线永磁同步电机系列视频-调试演示.mp4
- (174755032)抽烟、烟雾检测voc数据集
- 基于滑膜控制的差动制动防侧翻稳定性控制,上层通过滑膜控制产生期望的横摆力矩,下层根据对应的paper实现对应的制动力矩分配,实现车辆的防侧翻稳定性控制,通过通过carsim和simulink联合仿真
- 伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真 1.模型简介 模型为基于陷波滤波器的双惯量伺服系统机械谐振抑制仿真,采用Matlab R2018a Simul