iframe大小调整-跨浏览器问题

时间:2020-03-06 14:20:51  来源:igfitidea点击:

我正在其中一个页面的" iframe"中显示来自(我拥有的)外部站点的页面。一切都很好,除非在Opera中查看时缩小了浏览器窗口的大小(而不是宽屏),即当iframe缩小和压缩内容时。它可以在宽屏(最大化浏览器窗口)中工作,并且在IE7,Firefox,Chrome和Safari中可以最大化和缩小窗口大小。
我已经在HTML中设置了框架尺寸,并通过css将" iframe"嵌套在比" iframe"大的" div"中。

这是Opera特有的错误,还是我可以做些什么?

解决方案

尽管在IE6中,我们在Web应用程序主页上的" iframe"大小设置也存在类似问题。解决方法是捕获" window.onresize"事件并调用JavaScript函数来适当调整" iframe"的大小。 "内容"是我们要调整大小的" iframe"的名称。还要注意,我们使用的是ASP.Net AJAX的$ get,它转换为document.getElementById()。

window.onresize=resizeContentFrame;
resizeContentFrame();

function resizeContentFrame() {
    setFrameHeight($get('content'));
}

function setFrameHeight(f) {
    if(isDefined(f)) {
        var h=document.documentElement.scrollHeight;
        h-=(HEADER_HEIGHT+CONTENT_PADDING+5);
        f.style.height=h+'px';
    }
}