如何从iFrame访问主窗口元素

时间:2017-04-17 23:02:32

标签: javascript jquery iframe

以前曾经问过,但大多数答案似乎都假设父窗口也是可以选择的iframe。

我的父窗口中有一个DIV:     

如果在页面上嵌入的iFrame中发生错误,我想显示。

这是我试过的iFrame javascript:

if ( x == "" || y == ""){
parent.document.getElementById("error").style.display ="block";
parent.document.getElementById("error").style.transition ="all 0.5s ease";
parent.document.getElementById("error").style.opacity ="1";
parent.document.getElementById("error_write").innerHTML = "Oops, looks like     you've missed an input field. Please ensure both fields are completed in order for the converter to work.";}

这似乎没有从父窗口中拉出“error”元素并显示它。如果不尝试从另一个框架访问元素,则此代码可以工作。

请帮忙。

1 个答案:

答案 0 :(得分:1)

我知道你已经搜索了这个,但答案总是一样的..你不能这样做的理由是安全相关...我明白你是想做的像“传递错误”一样良性的东西

然而,想象一下 - 如果你是一个恶意的人,在你的网页上为<iframe>中的银行加载一个登录页面会怎么样 - 你被允许传递登录变量 <iframe> 您的父网页...这当然是过于戏剧性的,但 是最重要的原因,如果不是所有浏览器的话禁止在<iframe>parent之间传递数据。