(跨域)禁止从iframe外部调用父函数
(cross-domain) Call parent function from outside iframe is forbidden
。。。但我确实控制了第二个域(它集成了iframe)中的部分javascript。所以,我需要的是解决我的问题。我们有example2.com
(这个包含iframe)和example.com
(这个是iframe中的原始)。在iframe中,用户单击一个执行parent.redirectUser()
的按钮,尽管我在example2.com中定义了该函数,但它无法执行,因为它指出该函数被禁止从iframe内访问。考虑到我可以控制example2.com中的javascript,有其他方法可以解决这种情况吗?非常感谢你的帮助。。。
是的,你可以做到。您可以使用消息技术,从孩子发送消息(example2.com):
parent.postMessage("Ok", "example.com");
在parent(example.com)中,您必须添加以下代码:
//add eventlistener for message event
if (window.addEventListener) {
window.addEventListener("message", listener);
} else {
// IE8
window.attachEvent("onmessage", listener);
}
function listener(event) {
//check the message trust or not?
if (event.data == "Ok") {
//from parent you can call function, but function must be placed in global scope
redirectUser();
}
}
相关文章:
- 函数从$(document).ready外部调用在$(document).ready中定义的函数
- 从HTML中的外部JS文件调用函数
- 除非将外部js函数放在html文件中,否则无法调用该函数
- 访问外部调用方函数参数
- 在 mongo map 中调用外部 javascript 函数(对象)或减少上下文的可能方法
- 更新侧自调用函数中的外部作用域对象
- 从外部主体函数调用自调用函数
- 调用外部JS函数验证电子邮件
- JS:从函数外部调用变量
- Jquery 从外部文件调用函数
- 从 MXML 调用外部 JavaScript 函数
- 从级联 SELECT 元素更改事件调用外部 JS 函数
- 我可以在挖空时调用视图模型外部的函数吗?
- 从反应组件调用外部Javascript函数
- 每次调用函数时在函数外部添加一个变量
- 如何通过Javascript或Jquery从控制器外部调用Angular JS函数
- 从外部调用函数内部的 JavaScript 变量
- 从YUI沙盒外部调用函数
- 从jQuery中的函数外部调用函数属性
- 如何从窗口外部调用函数