【问题标题】:Resizing iframe to fit in parent div调整 iframe 大小以适应父 div
【发布时间】:2021-09-02 23:30:29
【问题描述】:

我创建了一个 Adob​​e Edge 动画,并将其导出为响应式 HTML 和 Javascript。

您可以在此处将动画作为单个 html 文件查看:(u: demo p: testing)

https://boomboxdevdev.wpengine.com/boombox_anim/boombox_HTML5_Canvas.html

我现在想使用 iframe 将动画嵌入到 divi 代码模块中。

我已经这样做了,可以在这里查看:(u: demo p: testing)

https://boomboxdevdev.wpengine.com/

我正在尝试使 iframe 完全适合父 div,但无法弄清楚如何。

我正在将 wordpress 与 Divi 他们和页面构建器一起使用。

【问题讨论】:

    标签: javascript css iframe divi


    【解决方案1】:

    简短回答:如果不控制父代码和 iframe 源代码,则不能。

    如果 iframe 的全部意义在于父级不知道 iframe 内运行的是什么,也无法访问其中的任何内容。否则会难以置信不安全(事实上,曾经是。曾几何时,您可以将银行的网站嵌入 iframe 中,然后查询 iframe。那是一段疯狂的时期)所以如果您知道内容的大小:通过指定 widthheight 属性使 iframe 标记使用该大小。

    如果您不这样做:您必须使用postMessage 协商动态调整大小,确保 iframe 的页面有 JS 来接受询问其内容尺寸的消息,以便父​​级可以发布该消息并得到一个宽度/高度,然后它可以用来调整 iframe 元素的大小。

    或者如果这不是一个选择:你运气不好。

    【讨论】:

    • 感谢大家的帮助。我想我要走另一条路了。我正在尝试嵌入 Adob​​e Edge 动画,我认为 iFrame 是一种非常草率的方式。
    • 绝对是:如果您可以导出为可以直接放在页面上的网络原生解决方案,那绝对比 iframe 更可取。
    【解决方案2】:

    您的一个问题是您的 iframe 具有以下 onload

    onload="this.width=screen.width;this.height=screen.height"
    

    因此,无论内容如何,​​iframe 都会保持在其加载的屏幕高度,但最大宽度限制为 100%。虽然您的 iframe 内容有一些代码可以动态调整其大小。您可以尝试修改一些东西以根据视口设置尺寸,并且您知道 iframe 内容的尺寸也将是因为您可以控制它,但如果有任何更改,您将不得不重做。

    但是,如果您拥有所有这些,您是否可以不使用生成的 html 和脚本并将它们作为另一个元素而不是使用 iframe 带入页面?

    【讨论】:

    • 感谢大家的帮助。我想我要走另一条路了。我正在尝试嵌入 Adob​​e Edge 动画,我认为 iFrame 是一种非常草率的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    相关资源
    最近更新 更多