当父来自不同的域时,在另一个iframe中执行javascript函数

前端之家收集整理的这篇文章主要介绍了当父来自不同的域时,在另一个iframe中执行javascript函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
页面A.com有2个iframes B.com/page1和B.com/page2.
这是A.com的代码
<html><body>
    <iframe src="b.com/page1" name="iframe1" id="iframe1">
    <iframe src="b.com/page2">
</body></html>

我想从B.com/page2在B.com/page1上执行js功能.
当父来自同一个域而不是跨域方案时,以下两个示例都很有效:

parent.window.frames['iframe1'].SomeFunction(args);

要么

parent.document.getElementById('iframe1').contentWindow.SomeFunction(args);

有什么办法吗?

解决方法

代替
parent.window.frames['iframe1'].SomeFunction(args);

使用

parent.frames['iframe1'].SomeFunction(args);

您可以遍历可以引用的任何窗口的框架集合,但在这种情况下,您尝试遍历父级的递归窗口属性(即窗口).这是不允许的.

猜你在找的HTML相关文章