Javascript 是否可以从不同子域上的iframe访问父页面上的函数?

Javascript 是否可以从不同子域上的iframe访问父页面上的函数?,javascript,jquery,security,iframe,Javascript,Jquery,Security,Iframe,我试图从iframe访问位于父页面上的函数。由于它们使用不同的子域,因此出现以下错误: 未捕获的安全性错误:阻止了原点为“”的帧访问原点为“”的帧。协议、域和端口必须匹配 我正在使用: window.parent.myFunction(); 访问父页面上的函数 是否有解决方法,或者因为它们是不同的子域而根本不起作用 不,这是一个安全问题,您无法找到解决方法。我听说您可以使用jsonp从其他域获取信息,但我从未尝试过 您无法让父域执行任何操作,但这仅在您有权访问父域(例如,在父域上载文件)时有

我试图从iframe访问位于父页面上的函数。由于它们使用不同的子域,因此出现以下错误:

未捕获的安全性错误:阻止了原点为“”的帧访问原点为“”的帧。协议、域和端口必须匹配

我正在使用:

window.parent.myFunction(); 
访问父页面上的函数


是否有解决方法,或者因为它们是不同的子域而根本不起作用

不,这是一个安全问题,您无法找到解决方法。

我听说您可以使用jsonp从其他域获取信息,但我从未尝试过


您无法让父域执行任何操作,但这仅在您有权访问父域(例如,在父域上载文件)时有效

在iframe页面内,创建第二个iframe,其源指向主域中的页面

第二个iframe可以使用window.parent.parent.myFunction()调用主页中的函数

如果添加行:

document.domain = 'domain.com';
对于两个框架中的脚本,它们将能够直接与彼此的对象交互。有关背景信息,请参阅

然而,跨帧脚本充斥着令人讨厌的情况,其中一个帧从另一个帧执行某些内容,而该帧正在忙于执行其他内容,或者尚未完全加载。对于任何非平凡的事情,我都会避免直接跨帧脚本编写


更现代的替代方案是将执行保持在单个帧内,并使用跨帧通信

太棒了,成功了。谢谢你的补充信息。
document.domain = 'domain.com';