我找到了How to dynamically resize iFrame in Firefox?之类的线程,它们讨论了根据远程内容调整iframe的大小;但是,我还没有找到一种方法(在Firefox中)根据窗口大小设置iframe的高度。
其他浏览器可以使用.body.scrollHeight
但似乎Firefox无法使用它。见...... http://jsfiddle.net/gjrowe/X63KR/
要查看自动调整大小的iframe,请查看此页面... http://jsfiddle.net/gjrowe/y2WCP/
适用于Chrome浏览器,但不适用于Firefox
答案 0 :(得分:3)
以下是我为跨浏览器修复所做的工作......
我添加了这个javascript函数...
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
然后我改变了......
var content_height=document.body.scrollHeight-100;
为...
var content_height=getDocHeight()-100;
看到它的实际效果
答案 1 :(得分:2)
我不知道你是否想要使用jQuery,但是使用jQuery我想我已经解决了你的问题..
// Header is 50px and footer is 50px; therefore, 100px is of screen height is used
// Define content_height and consider the 100px which has already been used
var content_height=document.body.scrollHeight-100;
//alert(content_height);
content_height = $(window).height() -110;
//alert(content_height);
// Set iframe height
document.getElementById('pdf_frame').style.height=content_height+"px";
// Reset iframe height after window resize
$(function(){
$(window).resize(function(){
content_height = $(window).height()-110;
//var content_height=document.body.scrollHeight-100;
document.getElementById('pdf_frame').style.height=content_height+"px";
});
});