iframe媒体查询来自父窗口大小



出于多种原因,我们不得不使用iframe嵌入一个React应用程序(不使用React(中。问题在于,我们正在使用此React应用中的某些组件,这些组件通过使用媒体查询来响应。

您可以想象,由于iframe的大小,该iframe中的组件就像窗口较小(在这种情况下是平板电脑(一样。

有什么方法可以从iframe内部响应父窗口的大小来使媒体查询做出响应?我们现在不太在乎响应能力,但至少我们希望看到所有内容都呈现出窗口iframe是台式机大小。

我看了这篇文章,但似乎没有用(我认为更改元视口仅在移动设备上起作用(:https://www.quirksmode.org/blog/blog/archives/archives/archives/2011/06/dynamilate_cha.html

听起来您对父母和iframe都有控制,一种解决此问题的方法是使用 postMessage api将主机窗口的大小发布到您的iframe中然后在您的React应用中使用JS处理。

如果您使用诸如iframe-resizer之类的东西,您将获得双向消息,并有可能免费响应您的iframed内容的大小。

最新更新