У меня есть Iframe, и содержимое этого iframe изменяется, поэтому окно может быть больше или меньше, поэтому я добавил сценарий автоматического изменения размера.Auto Resize не работает
Этот сценарий работает отлично, но только в том случае, если содержимое больше, если содержимое изменяется и оно меньше, чем в последний раз, окно не изменяет размер, а вершина одинакова.
Я не знаю, что не так. Если у вас есть идея, это будет хорошо.
Также есть мой сценарий и мой 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>
Возможно, потому что высота не может быть меньше 300 пикселей по умолчанию, попробуйте удалить свойство height и замените его, добавив минимальную высоту для #foo в css. Если это не поможет - создайте фрагмент кода в plunkr или другом сервисе – booboos