获取权限被拒绝访问属性“文档”

时间:2016-07-13 17:13:08

标签: javascript html iframe

我不清楚为什么在从不同的域I have not set any X-Frame-Options header in the HTTP response

在Web浏览器中加载HTML文件时出现此错误
  

拒绝访问属性“文档”的权限

这是我的服务器标题信息

curl -I zariga.com

输出

  HTTP/1.1 200 OK
Date: Wed, 13 Jul 2016 17:17:57 GMT
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Set-Cookie: JSESSIONID=656D65705C14A5B643B6EA281DF03A8D; Path=/
Vary: Accept-Encoding

我的HTML iFrame文件

<html>
<script>

function myFunction() {

    document.domain = "zariga.com";

var i = document.createElement('iframe');

i.setAttribute('id', 'i');
i.setAttribute('style', 'visibility:hidden;width:0px;height:0px;');
i.setAttribute('src', 'http://www.zariga.com/');
i.onload = function(){
alert(i.contentWindow.document.getElementsByName('syc')[0].value);
 alert(2);
};

document.body.appendChild(i);

}

</script>
<body>
<button onclick="myFunction()">Try it</button>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

您无法以这种方式访问​​iframe的内容。否则,您可以轻松注入其他网站并窃取访问者的帐户。

如果您可以访问iframe中包含的网站,您可以让它向其所包含的页面发送消息.iframe中的window.parent将等同于主页面中的窗口。

因此,要重新发送值,请将此代码添加到主页:

$.ajax({
        url: 'https://url.com',
        type: 'post',
        data: {
            projectIds: 'you project ids values...',
        },
        headers: {
            Header_Name_One: 'Header Value One ',
            "Header Name Two": 'Header Value Two' 
// if the Header name has spaces, use quotes to surround it (like above)
        },
        dataType: 'json',
        success: function (data) {
            console.info(data);
        }
    });

这是iframe中的页面:

function childCallback(value) {

}