如何从父页面访问iframe's javascript对象

How to access iframe's javascript objects from parent page?

本文关键字:对象 javascript iframe 访问      更新时间:2023-09-26

是否可以从父页面的javascript访问iframe的javascript对象?

试试这个。我假设你的iFrame的id是"targetFrame",你要调用的对象是targetObject,它们也是相同的域。如果它们不是同一个域,我认为是不可能的。

document.getElementById('targetFrame').contentWindow.targetObject

如果iframe src与父元素不在同一个源/域,则会有限制

因为同源策略(安全策略)https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript

该策略计划阻止访问私有数据,如CSRF令牌和存储在框架中的其他私有数据,例如,如果您使用bank.com的iframe构建html页面然后当人们进入你的网站时,如果他们登录到bank.com,他们的私人数据将存储在iframe中,因此同源策略将阻止不同的来源通过iframe访问彼此的数据。

您也可以使用父窗口对象访问子iframe的对象。

alert( window.frames[0].variable_name );

它将显示变量variable_name的值,来自第一个iFrame。帧的索引列表可以用来访问跨帧的变量值。