如何从同一域下的站点(HTTP)调整iframe(HTTPS)的大小

时间:2016-11-28 17:41:49

标签: javascript iframe

我有一个托管一些公开内容的网站:https://secure.example.com/PublicContent.html。我通过不安全的网站上的iframe呈现它:http://public.example.com。我有两个网页设置document.domain = "example.com";

如果我使用HTTPS加载public.example.com,我可以使用onload属性正确调整iframe大小:

onload="this.style.height = this.contentWindow.document.body.scrollHeight + 'px';"

但是,如果我在没有HTTPS的情况下加载public.example.com,我会得到Access is denied.任何想法如何让它在HTTP上运行?

1 个答案:

答案 0 :(得分:0)

如果您正在使用this.contentWindow

,则无法使用

同源政策:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

  

如果两个页面的协议,端口(如果指定了端口)和主机相同,则两个页面具有相同的来源。

要在同一域之间共享信息,无论使用哪种协议,您可能需要查看cookie。 https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Cross-origin_data_storage_access

此外,使用此lib解决类似问题:https://github.com/davidjbradshaw/iframe-resizer