как динамически установить высоту iframe в зависимости от его содержимого - PullRequest
0 голосов
/ 14 ноября 2018

Я хочу установить высоту iframe в зависимости от высоты содержимого, здесь ниже код работает для локальных ссылок, но я хочу сделать это динамически. пожалуйста, помогите.

<iframe  id="frameDemo" src="https://myvook.blogspot.com"></iframe>      
<script>    
$(document).ready(function() {       
$( "#frameDemo" ).on('load', function() {     
    var mydiv = $(this).contents().find("body");    
    var h = mydiv.height();    
    $("#frameDemo").height(h);    
 });    
});    

1 Ответ

0 голосов
/ 14 ноября 2018

Следуя сказанному Рори, невозможно установить высоту iframe до того, как будет загружен iframe, поскольку вы будете извлекать контент из другого домена.

Однако можно установить высоту iframe после того, как вы загрузили контент. Вот как я справился с этим:

function noteContentIframeLoaded(iframeId) {
  // See http://stackoverflow.com/a/5788723 for how to implement this function
  var iframeElement = $("#" + iframeId)[0];
  setTimeout(function() {
    setIframeHeight(iframeElement);
  }, 10);
}

function setIframeHeight(iframe) {
  if (iframe) {
    if (iframe.contentWindow || iframe.contentDocument) {
      var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
      if (iframeWin.document.body) {
        iframe.height = (iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight);
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...