Автоматически изменять размеры фреймов с атрибутом srcdo c - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь отобразить электронные письма на странице, используя элементы 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';
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...