自动调整大小不起作用
Auto Resize not working
我有一个 iframe,这个 iframe 的内容发生了变化,所以 window 可以变大或变小,所以我添加了一个自动调整大小的脚本。
此脚本完美运行,但仅当内容变大时,如果内容发生变化并且比上次变小,window 不会调整大小并且高度相同。
不知道怎么回事。如果你有什么想法就好了。
还有我的脚本和 iframe:
function autoResize(id){
var newheight;
var newwidth;
if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document.body.scrollWidth;
}
document.getElementById(id).height=(newheight) + "px";
document.getElementById(id).width=(newwidth) + "px";
}
$(function(){
var f=$('#foo')
f.load(function(){
f.contents().find("body").on('click', function(event) {
runAfterTimeout('foo');
});
})
})
function runAfterTimeout(id) {
setTimeout(function(){
autoResize(id);
},1000);
};
我的 iframe:
<iframe height="300px" width="100%" id="foo" src="" style="border: 0px currentColor; border-image: none;" onload="autoResize('foo')"></iframe>
我认为每次调用 onload 时您都需要重新设置 iframe 的高度。试试这个:
function autoResize(id){
document.getElementById(id).height="0px";
var newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
var newwidth=document.getElementById(id).contentWindow.document.body.scrollWidth;
document.getElementById(id).height=(newheight) + "px";
document.getElementById(id).width=(newwidth) + "px";
}
我有一个 iframe,这个 iframe 的内容发生了变化,所以 window 可以变大或变小,所以我添加了一个自动调整大小的脚本。
此脚本完美运行,但仅当内容变大时,如果内容发生变化并且比上次变小,window 不会调整大小并且高度相同。
不知道怎么回事。如果你有什么想法就好了。
还有我的脚本和 iframe:
function autoResize(id){
var newheight;
var newwidth;
if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document.body.scrollWidth;
}
document.getElementById(id).height=(newheight) + "px";
document.getElementById(id).width=(newwidth) + "px";
}
$(function(){
var f=$('#foo')
f.load(function(){
f.contents().find("body").on('click', function(event) {
runAfterTimeout('foo');
});
})
})
function runAfterTimeout(id) {
setTimeout(function(){
autoResize(id);
},1000);
};
我的 iframe:
<iframe height="300px" width="100%" id="foo" src="" style="border: 0px currentColor; border-image: none;" onload="autoResize('foo')"></iframe>
我认为每次调用 onload 时您都需要重新设置 iframe 的高度。试试这个:
function autoResize(id){
document.getElementById(id).height="0px";
var newheight=document.getElementById(id).contentWindow.document.body.scrollHeight;
var newwidth=document.getElementById(id).contentWindow.document.body.scrollWidth;
document.getElementById(id).height=(newheight) + "px";
document.getElementById(id).width=(newwidth) + "px";
}