当前位置:  开发笔记 > 编程语言 > 正文

根据内容高度调整iframe高度

如何解决《根据内容高度调整iframe高度》经验,为你挑选了2个好方法。

我在我的网站上打开我的博客页面.问题是我可以给iframe一个宽度,但高度应该是动态的,这样iframe中就没有滚动条了,它看起来像一个页面......

我已经尝试了各种JavaScript代码来计算内容的高度,但是所有这些代码都提供了访问被拒绝权限错误,没有用.


我们可以使用Ajax来计算高度或者使用PHP吗?



1> SchizoDuckie..:

直接回答你的两个子问题:不,你不能用Ajax做这个,也不能用PHP计算它.

我过去所做的是使用来自iframe页面的触发器window.onload(不是domready,因为加载图像可能需要一段时间)才能将页面的主体高度传递给父页面.


然后parent.resizeIframe看起来像这样:

function resizeIframe(newHeight)
{
    document.getElementById('blogIframe').style.height = parseInt(newHeight,10) + 10 + 'px';
}

Et瞧,你有一个强大的缩放器,一旦页面完全呈现就会触发,没有讨厌contentdocumentcontentWindow小提琴:)

当然,现在人们会首先看到你的iframe处于默认高度,但是这可以通过首先隐藏你的iframe并显示"加载"图像来轻松处理.然后,当resizeIframe函数启动时,在其中放置两条额外的行来隐藏加载图像,并显示该伪造Ajax外观的iframe.

当然,这只能在同一个域中运行,所以你可能想要一个代理PHP脚本来嵌入这些东西,一旦你去那里,你也可以用PHP直接将你的博客的RSS源直接嵌入你的网站.



2> 小智..:

你可以用JavaScript做到这一点.

document.getElementById('foo').height = document.getElementById('foo').contentWindow.document.body.scrollHeight + "px";

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有