2016-03-30 3 views
0

Я исследовал это, но большинство людей, похоже, имеют противоположную проблему, как я, где их решение заключается в использовании кода, который я уже применял. Я динамически оцениваю свои iFrames на основе их контента, и он работает как очарование в Chrome и FF. IE не работает. Код ниже. Спасибо.Высота iFrame не вернулась должным образом в IE

function resizeIframe(iframe) { 
       iframe.height = iframe.contentWindow.document.body.scrollHeight + "px"; 

       /* 
       iframe.height = "500px" - this worked fine in all browsers 
       */ 
    } 


<iframe id="exampleIframe" onload="resizeIframe(this);" /> 

Ответ отредактирован включить + "px", который теперь работает в Chrome & FF, но до сих пор не IE.

+0

Вы пытались использовать ['setAttribute()'] (https://developer.mozilla.org/en/docs/Web/API/Element/setAttribute)? –

+0

'iframe.setAttribute (" height ", iframe.contentWindow.document.body.scrollHeight +" px ");' Такая же ситуация; Работает в Chrome, нет удачи в FF/IE. – Santi

+0

Имеет ли iframe src тот же домен? ... Если нет, то это отвечает на вопрос, вы попадаете в блок перекрестного происхождения. – LGSon

ответ

0

Я нашел проблему!

Я объявлял параметр по умолчанию в более ранней функции, делая function functionName(param = false){}

IE не согласен с этим методом, и поэтому блок не удалось. Из-за этого resizeIframe() не был найден, и поэтому Iframe не изменял размер.

По вместо делать параметры по умолчанию, как это:

function functionName(param) { 
    if (typeof param == "undefined") { 
      param = "Default"; 
    } 
} 

Спасибо всем.

Смежные вопросы