跨源资源共享头可以授权X-Domain IFRAME访问吗?

调整IFRAME的高度以匹配其内容页面的高度 can be a real drag,当包含和内容页面不在同一个域时.

跨源资源共享(CORS)标题可以使内容页面授权跨域访问其资源,从而允许其包含的页面读取其高度? (或者,或者,包含页面授权内容页面宣布其高度?)

还是CORS严格的AJAX的东西?

解决方法

CORS不允许您这样做,但您可以使用跨文档消息传递在iframe和其父窗口之间即使在不同的域上发送字符串,并使用它进行通信.

大多数浏览器支持这一点,尽管Internet Explorer’s waythe others不同.

假设你想要的是让iframe向父页面宣布它所需的高度,你可以把它放在你的iframe代码(未测试)中:

var message = {
    width: desiredWidth,height: desiredHeight
};
window.parent.postMessage(JSON.stringify(message),'*');

这在你的包含页面:

function onMessage (event) {
    if (event.source != theIFrameElement.contentWindow) return;
    var message = JSON.parse(event.data);
    var desiredHeight = message.height;
    var desiredWidth = message.width;   
}

if (window.attachEvent)
    window.attachEvent('onmessage',onMessage);
else if (window.addEventListener)
    window.addEventListener('message',onMessage,false);

attachEvent是用于IE,addEventListener是为其他人.为了安全起见,您可能需要检查目标原点,但这是一般想法.

编辑:Browser support for Cross-document messaging(-fsb)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


html5中section的用法
span标签和p标签的区别
jsp文件和html文件的区别是什么
span标签和div的区别
html颜色代码表大全
span标签的作用是什么
dhtml的主要组成部分包括什么
html编辑器哪个软件好用
span标签属于什么样式标签
html文件乱码怎么办
html怎么读取json文件
html文件打开乱码怎么恢复原状
html怎么链接外部css
html文件怎么保存到本地
html怎么链接css文件
html和css怎么连接
html和css怎么关联
html文件怎么保存到一个站点
html文件怎么写
html出现乱码怎么解决