【问题标题】:How to get iframe contents height when src is base64 encoded?src 为 base64 编码时如何获取 iframe 内容高度?
【发布时间】:2019-04-21 07:30:24
【问题描述】:

这是我要动态显示内容的 iframe。

<iframe onload='resize()' id='ifr' src='data:text/html;charset=utf-8;base64,Encoded text here' width=100% height=400px></iframe>

我试过这样的东西..但高度总是返回 0

function resize() {
   $('#ifr').height($('#ifr').contents().height());
}

这里是 jsfiddle..

https://jsfiddle.net/zetapark/rajz6sy5/1/

【问题讨论】:

  • 你能在 jsfiddle、plunker、codepen 等地方创建一个可运行的演示吗?甚至在 stacksn-p 中点击问题编辑器中的&lt;&gt;
  • 我做了一个 jsfiddle ...它是未定义的..不是 0..
  • OK 是我所怀疑的。由于同源策略无法访问它。 jsfiddle.net/t7fk1364 可以尝试在 iframe 内的脚本标签中设置 document.domain = 'yourPageDomain'
  • 不工作....

标签: javascript html iframe base64 height


【解决方案1】:

$('iframe') 为您提供文档中的所有 iframe,因此您应该为框架提供 id 并像 $('#MYiframe') 一样使用它,或者从 jquert 返回的内容中获取第一个元素。

function resize() {
   $('iframe')[0].height($('iframe')[0].contents().height());
}

我还在 SO 上找到了用于调整 iframe 的大小的内容。

iFrame.width  = iFrame.contentWindow.document.body.scrollWidth;
iFrame.height = iFrame.contentWindow.document.body.scrollHeight;

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 2021-11-30
    • 1970-01-01
    • 2023-03-18
    • 2015-05-04
    • 2014-11-06
    • 2015-10-28
    • 2013-05-12
    • 2014-12-25
    相关资源
    最近更新 更多