php - 根据其中的内容高度调整 iframe 高度

标签 php javascript ajax iframe

我正在我的网站中打开我的博客页面。问题是我可以给 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/

相关文章:

javascript - PHP 中的 Jquery

php - 如何保存响应式菜单打开/关闭值?

javascript - 我无法在我的 html 页面中显示 ajax 请求响应

ajax - 主干抛出集合[方法]函数错误

PHP Diff 部分日期时间

PHP-Mysql查询不必要地插入数据两次

javascript - Naver jquery 插件不允许点击菜单中的链接

javascript - parent.document.getElementById ("...") 在 IE7 中为空或不是对象

javascript - RethinkDB:​​Javascript - 如何删除嵌套对象

javascript - DIV 如何在聊天脚本中滚动?