Как динамически изменить высоту iframe в зависимости от высоты элемента? - PullRequest
1 голос
/ 06 февраля 2012

Я загружаю веб-страницу aspx в iframe в том же домене / протоколе, что и родительская страница / страница контейнера.Содержимое в iframe иногда имеет большую высоту, чем сам iframe.Я не хочу отображать полосы прокрутки в моем Iframe.

Мне нужно изменить размер высоты Iframe, основываясь на теге div 'div' оболочки на странице aspx, которую будет содержать iframe.Ниже приведен jquery, который я написал для достижения этой цели:

$("#TB_window", window.parent.document).height($("body").height() + 50);

'TB_window' - элемент div, в котором содержится Iframe.

'body' - элемент body aspx вiframe.

Этот скрипт прикреплен к содержимому iframe.я получаю элемент TB_window с родительской страницы.в то время как это прекрасно работает на Chrome, но TB_window рушится в Firefox.Я действительно растерялся / растерялся из-за того, почему это происходит.

Может кто-нибудь дать какой-нибудь совет, как мне лучше справиться с ситуацией ??Ваша помощь будет высоко оценена Спасибо

Ответы [ 2 ]

2 голосов
/ 07 июня 2013

Вы должны использовать управление каким-либо событием в вашем фрейме

 <iframe id="iframe" src="xyz" onload="FrameLoad(this);"
  onresize="FrameLoad(this);" scrolling="no" frameborder="0">
  </iframe>


   function FrameLoad(ctrl) {
   var the_height = ctrl.contentWindow.document.body.scrollHeight;
   $(ctrl).height(the_height)
 }

также использовать для кросс-браузера

document.domain = document.location.hostname;

на родительской и дочерней страницах

0 голосов
/ 06 февраля 2012

Если разница невелика, вы можете добавить

overflow:hidden

к классу css

, это не изменит размер окна, но может оказаться тем, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...