【发布时间】:2014-06-02 06:50:06
【问题描述】:
如何动态更改包含 Pardot 表单的 iFrame 的高度?我有一个 Pardot 表单,它通过 iFrame 放置在我网站的页面上。我尝试了多种方法来根据表单的大小动态调整 iFrame 的大小。当用户提交表单时,会存储大部分数据,并且下次查看页面时表单会变短。 iFrame代码如下:
<iframe
src="http://go.pardot.com/..."
width="100%"
type="text/html"
frameborder="0"
allowTransparency="true"
style="border: 0" scrolling="no"
id="iframe"
onload="javascript:resizeIframe(this);">
</iframe>
javascript如下:
function resizeIframe(obj)
{
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
}
【问题讨论】:
-
看起来您在
iframe上加载了第三方页面。如果是这样,你can't accessiframe中的文档。如果不是第三方内容,只需从iframe标签中删除height属性即可。 Java 在哪里? -
大多数浏览器不允许 javascript 访问来自不同域的 iframe 的内容。但是,使用 onreadystatechange 比使用 onload 的运气要好得多。
-
@Dave “大多数浏览器”是什么意思?他们中的任何一个都不会。如果他们愿意,那将是一个巨大的安全风险。
-
我力求简洁。
-
Java 和 Javascript 几乎没有共同之处。您的代码是 Javascript,而不是 Java。
标签: javascript jquery iframe dynamic height