获取iframe内容的绝对大小

Getting the absolute size of iframe contents

本文关键字:iframe 获取      更新时间:2023-09-26

我有一个应用程序,在这个应用程序中,我将外部网站加载到Iframe中,这样人们就可以对其进行QA。我需要找到一种方法来获取Iframe内部内容的绝对大小,这样所有隐藏的内容都会因为你还没有向下滚动到这个位置而被隐藏。我似乎只能在屏幕上获得Iframe的大小,即我的Iframe大小为800x600,我可以只是出于某种原因才得到这个值,但网站可能是800x1200,我需要能够得到完整的尺寸。

目前我有这个代码

        aWidth = document.getElementById('FrameStyle').scrollWidth - 17;
        aHeight = document.getElementById('FrameStyle').scrollHeight + 500;

这让我有了高度,但我必须手动添加像素到最后,这不是我想要的,而且网站可能比500多个像素更长。那么,我该如何获取iframe内部内容的完整大小呢。

如果在加载iframe内容后运行代码,例如,则可以使用Dot_NET Junior's建议

var iframe = document.getElementById('iframeId');
iframe.onload = function () {
    var width = iframe.contentDocument.body.scrollWidth;
    var height = iframe.contentDocument.body.scrollHeight;
};