如果内部内容的大小发生变化,有没有办法自动调整iframe的大小?

时间:2011-03-20 03:17:53

标签: dynamic iframe size

例如,我正在尝试iframe主页上的youtube订阅框,问题是,如果我使iframe真的很长,那么它会浪费空间,但如果我制作了我想要的尺寸,那么如果用户点击“加载更多视频”按钮,然后它被切断。那么是否有任何方法可以使iframe(或任何替代方案)占大小的百分比,或者在页面更改时动态更改?

1 个答案:

答案 0 :(得分:1)

创建一个文件并将其命名为iframe.html

<html>
<head>
<script type="text/javascript"></span>
    function autoIframe(frameId){
        try{
            frame = document.getElementById(frameId);
            innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;

            if (innerDoc == null){
                            // Google Chrome
                frame.height = document.all[frameId].clientHeight + document.all[frameId].offsetHeight + document.all[frameId].offsetTop;
            }
                    else{
                    objToResize = (frame.style) ? frame.style : frame;
                    objToResize.height = innerDoc.body.scrollHeight + 18;
                    }
        }

        catch(err){
                alert('Err: ' + err.message);
            window.status = err.message;
        }
    }
    </script>
</head>
<body>
    <iframe id="tree" name="tree" src="tree.html" onload="if (window.parent &amp;&amp; window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe>
</body>
</html>  

现在创建一个名为tree.html的html页面,并在其中放入一些虚拟内容。确保iframe.htmltree.html位于same directory。在浏览器中打开.html文件,您将观察到o / p。

更有用的链接: