Я пытаюсь отобразить электронные письма на странице, используя элементы iframe с атрибутом srcdo c.
В настоящее время я использую этот код для изменения размера iframes.
$(document).ready(function() {
$('iframe').each(function(index, el) {
el.onload = function() {
el.style.height = el.contentWindow.document.body.scrollHeight + 'px';
}
})
});
Но это не всегда работает. Иногда содержание изменяется должным образом, а иногда нет.
Я видел подобные решения https://medium.com/better-programming/how-to-automatically-resize-an-iframe-7be6bfbb1214, но, насколько я понимаю, это потребовало бы от меня ввода некоторого js в содержимое srcdo c и затем прослушивание окна .onmessage событие. Я чувствую, что это громоздкое решение. Это единственное решение или есть лучший способ справиться с этим?
РЕШЕНИЕ
Используя readystate, как упомянуто CBroe ниже, я смог получить надежные результаты .
$('iframe').each(function(index, el) {
$(el).ready(function(){
el.style.height = el.contentWindow.document.body.scrollHeight + 'px';
});
});