JavaScript iframe 页面跳转与刷新:本层、父层及顶层定位

作者:异步漫步

时间:2026-10-27

浏览:324

本文详解 JavaScript 中 iframe 嵌套场景下的页面跳转与刷新机制。通过对比 window.location、parent.location 和 top.location 的行为,明确如何控制当前页面、直接父页面及最外层容器的跳转目标。同时涵盖 form 标签 target 属性在 iframe 中的表现,以及利用 location.reload() 和 opener 对象实现指定层级页面刷新的具体代码示例。

文章目录

iframe 页面跳转的核心方法

使用 "window.location.href" 或 "location.href" 可实现当前页面(本层)的跳转。



使用 "parent.location.href" 可实现直接父级页面的跳转。



使用 "top.location.href" 可实现最外层顶层页面的跳转。



嵌套页面跳转行为示例

以下通过具体示例进行说明:



假设 A、B、C、D 均为 JSP 页面,且存在如下嵌套关系:D 是 C 的 iframe,C 是 B 的 iframe,B 又是 A 的 iframe。若 D 页面中的 JavaScript 代码执行如下操作:



执行 "window.location.href" 或 "location.href" 时,D 页面自身发生跳转。



执行 "parent.location.href" 时,C 页面发生跳转。



执行 "top.location.href" 时,A 页面(最外层)发生跳转。



若 D 页面中包含 form 表单,其提交行为受 target 属性控制:

Form 提交与页面刷新机制

若使用 <form> 提交表单,D 页面自身发生跳转。



若使用 <form target="_blank"> 提交表单,将弹出一个新页面显示结果。



若使用 <form target="_parent"> 提交表单,C 页面发生跳转。



若使用 <form target="_top"> 提交表单,A 页面(最外层)发生跳转。



关于页面刷新,在 D 页面中可采用如下写法:

执行 "parent.location.reload();" 可使 C 页面刷新。此外,也可通过子窗口的 opener 对象获取父窗口引用,使用 "window.opener.document.location.reload();" 实现相同效果。



执行 "top.location.reload();" 可使 A 页面(最外层)刷新。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章