我正在我的网站中打开我的博客页面。问题是我可以给 iframe 一个宽度,但高度应该是动态的,这样 iframe 中就没有滚动条,它看起来像一个页面......
我尝试了各种 JavaScript 代码来计算内容的高度,但它们都给出了 access denied permission 错误并且没有用。
<iframe src="http://bagtheplanet.blogspot.com/" name="ifrm" id="ifrm" width="1024px" ></iframe>
我们可以使用 Ajax 来计算高度还是使用 PHP?
最佳答案
直接回答你的两个子问题:不,你不能用 Ajax 做这个,也不能用 PHP 计算。
我过去所做的是使用 window.onload
中 iframe 页面的触发器(不是 domready
,因为图像可能需要一段时间加载)将页面的正文高度传递给父级。
<body onload='parent.resizeIframe(document.body.scrollHeight)'>
那么 parent.resizeIframe
看起来像这样:
function resizeIframe(newHeight)
{
document.getElementById('blogIframe').style.height = parseInt(newHeight,10) + 10 + 'px';
}
瞧,你有一个强大的调整大小,一旦页面完全呈现,没有讨厌的 contentdocument
vs contentWindow
摆弄就会触发 :)
当然,现在人们会首先在默认高度看到您的 iframe,但这可以通过首先隐藏您的 iframe 并仅显示“加载”图像来轻松处理。然后,当 resizeIframe
函数启动时,在其中添加两行将隐藏加载图像,并显示假 Ajax 外观的 iframe。
当然,这仅适用于同一个域,因此您可能需要一个代理 PHP 脚本来嵌入这些内容,并且一旦您到达那里,您不妨将博客的 RSS 提要直接嵌入到您的站点中PHP。
关于php - 根据其中的内容高度调整 iframe 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525992/