Размер автофрейма не работает - PullRequest
0 голосов
/ 28 августа 2011

У меня был сайт, работающий на Joomla , который прекрасно работал до IE9.Это все еще работает отлично, но только в режиме совместимости.

Проблема в функции Javascript, которую я использовал ранее для вызова Iframe (в основном это 4 формы ввода, которые загружаются одна за другой, разных размеров), но теперь она показывает ошибку.Я пробовал искать форумы и в Google, но не смог найти решение.Ошибка в этой строке:

h = document.frames('blockrandom').document.body.scrollHeight;

, сгенерированный IE9 (код ошибки 5002, символ 3-й).Есть ли альтернативы?

function iFrameHeight()  {
   var h = 0;
   if ( !document.all ) {
       h = document.getElementById('blockrandom').contentDocument.height;
       document.getElementById('blockrandom').style.height = h + 60 + 'px';
   } 
   else if ( document.all ) {
      h = document.frames('blockrandom').document.body.scrollHeight;
      document.all.blockrandom.style.height = h + 20 + 'px';
   }

}

1 Ответ

1 голос
/ 28 августа 2011

Существуют лучшие способы достичь этого, не полагаясь на document.frames или document.all.Взгляните на этот короткий урок Мэтта Каттса .Прочитав это, вы должны получить что-то вроде следующего:

var iframe = document.getElementById('blockrandom');
iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...