从内部iframe访问父div

时间:2013-05-13 20:37:31

标签: jquery iframe cross-domain

div里面有一个iframe - 按钮(在iframe中)点击将重定向到我的域中的页面 - 在这个新页面 - onload事件时我做了

$('#ParentDIV',window.parent.document).hide();

获取错误:Permission denied to access property 'document

此处重定向的页面位于我的域中 - 但我看到了重定向的页面,脚本标记位于<iframe> -

1 个答案:

答案 0 :(得分:1)

这是不可能的javascript安全性,已撤回支持此类执行。 iframe的网址应与文档位于同一个域中,并且还包含子网域。

示例:

www.host.com -> my.host.com [not working!]
www.host.com -> www.host.com [Works!]
www.host.com -> host.com [not working!]
host.com -> host.com [works!]

我们的想法是避免注入其他人的代码。

但你可以做一些事情......用Ajax?:是的!

如果您需要从外部服务器获取数据,最好有这样的: 理想情况下,外部服务器头具有:

Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

使用jQuery代码:

$.ajax({

    url: 'https://www.host.com/',
    data: myData,
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    success: function() { alert("Success"); },
    error: function() { alert('Failed!'); },
    beforeSend: setHeader
});