You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同域场景下,如何从iframe自身访问父窗口?

如何在同源iframe中访问父窗口?

嘿,既然你的iframe和顶层页面是同源的(都是https://www.example.com域名下,协议、域名、端口完全一致),浏览器的同源策略不会限制你,访问父窗口的方法超直接:

  • 用window.parent:这个对象指向当前iframe的直接父窗口。就像你给出的结构,你的iframe是直接嵌套在顶层页面里的,所以window.parent就等于最外层的顶层窗口。
  • 用window.top:如果之后页面结构有多层iframe嵌套,这个属性会直接指向最外层的顶层窗口,不管中间有多少层嵌套,用它更稳妥。

举个实际操作的例子,在article/4325这个iframe里,你可以这么写代码:

// 获取父页面里所有带loaded类的iframe
const allParentIframes = window.parent.document.querySelectorAll('iframe.loaded');
// 甚至直接修改顶层页面的样式
window.top.document.body.style.backgroundColor = '#f5f5f5';

要记住哦,只有同源的情况下才能这么自由地访问父窗口的DOM和对象,如果是非同源的话,浏览器会出于安全考虑阻止这类操作,这就是同源策略的作用。

内容的提问来源于stack exchange,提问作者user9612743

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:46:47