我的问题与这个问题非常相似:当父级来自不同域时,在另一个 iframe 中执行 javascript 函数
我有一个A.com域页面,其中包含 2 个 iframe,其中包含 B.com/page1 和 B.com/page2
我需要通过单击 B.com/page1 中的按钮(与已链接页面相同)来执行 B.com/page2 iframe 中的功能,但使用jQuery。
现在我在 B.com/page1 中使用此代码
parent.$(parent.document).trigger("myFunction", [myParams]);
并在 B.com/page2 中使用
parent.$(parent.frames).bind("myFunction", function (e, value) { localFunction(value); });
如果我从 B.com/index 加载 page1 和 page2 这很有效,但是从 A.com 加载时它会失败并出现错误
不安全的 JavaScript 尝试从具有 URL B.com/page2 的框架访问具有 URL A.com 的框架。域、协议和端口必须匹配。
错误由绑定函数触发。如链接主题中所述,我可以使用代码从 iframe 引用到同一页面中的其他 iframe:
parent.frames['page2'].myFunction(args);
但我仍然从 javascript 控制台得到同样的错误和另一个错误:
未捕获的类型错误:无法调用未定义的方法“myFunction”
我怎么能摆脱这个?谢谢!