如何检测 iframe 大小调整?

发布于 2024-08-02 05:51:25 字数 89 浏览 3 评论 0原文

有没有办法检测 iframe 的内容是否已更改?

我的解决方法是我有一个循环,它不断检查内容的高度,它有效但效率不高,还有其他方法可以做到这一点吗?

Is there a way to detect if content of my iframe has changed?

My workaround is I have a loop which constantly check for the height of the content it effective but not efficient is there another way of doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绝不放开 2024-08-09 05:51:25

由于 iframe 的内容具有单独的 window 元素,因此您可以在 iframe 内部的脚本中执行此操作。

$(window).resize(function(){
  var object = $(this)
  // Use `object.height()` and `object.width()`.
});

您还可以使用 $("#the_iframe")[0].contentWindow.window (或类似的东西)而不是 window 来访问 window 来自包含 iframe 范围的 iframe 对象。

Since the contents of the iframe has a separate window element, you can do this in a script inside of the iframe.

$(window).resize(function(){
  var object = $(this)
  // Use `object.height()` and `object.width()`.
});

You could also use $("#the_iframe")[0].contentWindow.window (or something like that) instead of window to access the window object of the iframe from the scope that contains the iframe.

终止放荡 2024-08-09 05:51:25
      setInterval(function() {
                var ifm = document.getElementById("UIMain");
                var h = ifm.contentWindow.document.body.scrollHeight;
                ifm.height = h < 400 ? 400 : h;
          }, 800);

纯javascript就可以了。不需要jquery。

      setInterval(function() {
                var ifm = document.getElementById("UIMain");
                var h = ifm.contentWindow.document.body.scrollHeight;
                ifm.height = h < 400 ? 400 : h;
          }, 800);

pure javascript is OK.didn't need jquery.

荆棘i 2024-08-09 05:51:25

这解决了问题:

iframe 代码:

<body onload="parent.alertsize(document.body.scrollHeight);">

父页面:

<script>
function alertsize(pixels){
 pixels+=32;
document.getElementById('myiframe').style.height=pixels+"px";
}
</script>

this solved the problem :

iframe code:

<body onload="parent.alertsize(document.body.scrollHeight);">

parent page :

<script>
function alertsize(pixels){
 pixels+=32;
document.getElementById('myiframe').style.height=pixels+"px";
}
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文