Ali Majed HA Ответов: 1

Проблема при выполнении функции java script


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

например, если я запускаю свой проект, iFrame имеет высоту по умолчанию, когда я обновляю страницу нажатием (ctrl + F5), функция будет выполнена и работает нормально, поэтому высота iFrame будет автоматически корректироваться в зависимости от содержимого.

или я должен запустить проект с плагином FireBug и отладить его, чтобы он работал нормально.

У меня есть какая-то ошибка в приоритете моей функции?

Что я уже пробовал:

мой iFrame в моем html:
<iframe src="..." onLoad="ResizeIFrame(this);"></iframe>

в моем javascript :
function ResizeIFrame(obj) {
 obj.height = obj.contentWindow.document.body.scrollHeight + 'px';
}


заранее спасибо
С наилучшими пожеланиями

Ayodeji Oluwatomiwo

попробуйте получить управление из вашей функции javascript и установить высоту стиля в auto.

Bob@work

Изменение стиля iframe

obj. стиль.высота = obj-файлы.contentWindow.документ.тела.scrollHeight + 'Военторга';

работает в IE11, chrome и Firefox, где изменение атрибута высоты объекта не происходит. Не уверен, что это будет достаточно близкое решение, нужно проверить целевую аудиторию: safari, мобильные браузеры и т. д.

А изменение стиля работает только со страницами из соответствующих источников, иначе вы получите ошибку безопасности:

"Заблокировал кадр с происхождением "http://localhost" от доступа к кадру с источником "http://www.red.com". Протоколы, домены и порты должны совпадать."

Ali Majed HA

Эй, Боб, Спасибо, но проблема в том, что он начинает работать после обновления страницы. Я думаю, что проблема возникает в атрибуте" onload " iFrame.

1 Ответов

Рейтинг:
4

Ali Majed HA

Я нашел решение:
Я поместил код в document. ready, как показано ниже:

$(document).ready(function(){
  setInterval(function(){
   parent.$("iframe").height($("body").height));
  }, 100);
)};

Это автоматически отрегулирует высоту iframe в зависимости от содержимого внутри него.