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

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

概述调整IFRAME的高度以匹配其内容页面的高度 can be a real drag,当包含和内容页面不在同一个域时. 跨源资源共享(CORS)标题可以使内容页面授权跨域访问其资源,从而允许其包含的页面读取其高度? (或者,或者,包含页面授权内容页面宣布其高度?) 还是CORS严格的AJAX的东西? CORS不允许您这样做,但您可以使用跨文档消息传递在iframe和其父窗口之间即使在不同的域上发送字 调整iframe的高度以匹配其内容页面的高度 can be a real drag,当包含和内容页面不在同一个域时.

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

还是CORS严格的AJAX的东西?

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

大多数浏览器支持这一点,尽管Internet Explorer’s way与the 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)

总结

以上是内存溢出为你收集整理的跨源资源共享头可以授权X-Domain IFRAME访问吗?全部内容,希望文章能够帮你解决跨源资源共享头可以授权X-Domain IFRAME访问吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1142460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存