...但我确实控制了第二个域内的部分javascript (它集成了iframe)。
所以,我需要的是解决我的问题。我们example2.com
(此一个持有iframe)和example.com
(这一个是iframe中的原始内容)。在iframe内部,用户单击执行parent.redirectUser()
的按钮,虽然我在example2.com中定义了该函数,但它无法执行,因为它将该函数指向禁止从iframe中访问。考虑到我可以在example2.com中控制javascript,还有其他方法可以解决这种情况吗?非常感谢你的帮助...
答案 0 :(得分:0)
是的,你可以做到。 你可以使用消息技术, 从孩子发送消息(example2.com):
parent.postMessage("Ok", "example.com");
在父(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();
}
}