Автоматическое изменение размера Fancybox с помощью iframe для контента - PullRequest
1 голос
/ 21 декабря 2011

У меня есть iframe, загружаемый Fancybox. Внутри iframe я загружаю jQuery, чтобы я мог $('html').height(); получить правильную высоту фактического содержимого внутри iframe.

  • В FF это, кажется, позволяет мне соответствующим образом изменить размер iframe (и FancyBox)

  • В Chrome это значение приблизительно на 5–20 пикселей меньше фактической высоты содержимого.

  • В IE 8 сообщаемое значение является начальной высотой открываемого окна fancybox, даже при последующих обновлениях (iframe).

Есть ли лучший способ получить высоту содержимого iframe, чтобы я мог изменить размер оболочки fancybox, чтобы пользователь не видел полосы прокрутки?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2011

Вы ищете

$(document).height() 

Я попытался использовать $ ('html'). Height () и получил странные значения.

0 голосов
/ 22 декабря 2011

В версии 1.3 FancyBox есть метод изменения размера, который вы можете использовать для подгонки iFrame к его содержимому:

$.fancybox.resize();

Если память используется, это имеет побочный эффект перезагрузки содержимого iFrame. Если вы обнаружите, что это так, попробуйте использовать высоту тега body, чтобы сообщить fancybox об изменении размера.

var height = $('body').height();
$('#fancybox-inner, #fancybox-wrap').height(height);
...