如何获取iframe的真实高度?

发布于 2024-10-19 07:01:20 字数 974 浏览 2 评论 0原文

我的 iframe 身高有一些奇怪的问题。

在我的编辑器中,输入区域的大小是可调整的,因此在 14 行之后,会显示增加的停止点和滚动条。删除一些行后,滚动条隐藏并且高度应该开始减小。但事实并非如此...因为滚动条隐藏后我无法读取真实的 iframe 主体高度。

您可以在这里找到我的编辑器:http://brownfolder.com/09/ - 身体高度低于编辑器,每 100 毫秒更新一次。

顺便说一句,Firebug 用它的真实尺寸标记了身体,而不是这个越野车。

我使用的代码:

var s = document.getElementById(rte);
var x = s.contentWindow.document;
var timer = setInterval(function()
{
        var h = x.body.scrollHeight;
        $('.aasdf').text(h);
        if(h > maxheight)
        {
            $(s).height(maxheight);
            x.body.parentNode.style.overflow = "auto";
            clearInterval(timer);
        }
        else if(h <= minheight)
            $(s).height(minheight);
        else
        {
            x.body.parentNode.style.overflow = "hidden";
            $(s).height(h);
        }           
}, 100);

您知道如何解决此问题吗?

提前致谢!

I have some strange problem with my iframe body height.

In my editor, the typing area is resizable, so after 14 rows, the increasing stops and a scroll bar shows. After deleting some rows, the scroll bar hides and the height should start decreasing. But it doesn't... because I can't read the real iframe body height after the scroll bar hides.

You can find my editor here: http://brownfolder.com/09/ - the body height is below the editor, updated every 100ms.

Btw, Firebug marks the body with it's real dimension, not this buggy one.

The code I use:

var s = document.getElementById(rte);
var x = s.contentWindow.document;
var timer = setInterval(function()
{
        var h = x.body.scrollHeight;
        $('.aasdf').text(h);
        if(h > maxheight)
        {
            $(s).height(maxheight);
            x.body.parentNode.style.overflow = "auto";
            clearInterval(timer);
        }
        else if(h <= minheight)
            $(s).height(minheight);
        else
        {
            x.body.parentNode.style.overflow = "hidden";
            $(s).height(h);
        }           
}, 100);

Have you got any idea how to fix this problem?

Thanks in advance!

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

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

发布评论

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

评论(1

画骨成沙 2024-10-26 07:01:21
<iframe style="height:200px" id="if" onload="change()"></iframe>

<script type="text/javascript">
function change()
{
    var a = document.getElementById('if');
    var b = a.style.height;
    alert(b);
}
</script>

这段代码将帮助你获取 iframe 的高度..!这可能会有所帮助。
祝你有美好的一天。

<iframe style="height:200px" id="if" onload="change()"></iframe>

<script type="text/javascript">
function change()
{
    var a = document.getElementById('if');
    var b = a.style.height;
    alert(b);
}
</script>

this code will help u to get the height of the iframe..! this may help.
have a good day.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文