Colorbox iframe изменить размер - PullRequest
4 голосов
/ 21 февраля 2012

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

$.colorbox({ ... url, iframe true, etc

onComplete : function() { 
        $.fn.colorbox.resize(innerHeight);
        }

, окно изменяется до высоты 150 пикселей.независимо от того, что находится в HTML-странице.В идеале это открывалось бы для размера результатов поиска, и тогда я мог бы вызывать его каждый раз, когда запускается новый поиск, но ни одна из вариаций colorbox.resize(), на которую я нашел ссылку, ничего не делает.Нада.

Любая помощь будет наиболее ценной.

Ответы [ 2 ]

16 голосов
/ 04 июля 2012

Если вы хотите изменить размер в соответствии с содержимым Iframe, тогда ваш код для изменения размера должен быть внутри содержимого Iframe. Потому что, насколько я думаю, только Iframe знает, какое содержимое оно содержит, а не родительское окно, которое его загружает. В вашем содержании Iframe поместите этот код в раздел head

<script type="text/javascript">
    function Resize_Box(){
        var x = $('body').width();
        var y = $('body').height();
        parent.$.fn.colorbox.resize({
            innerWidth: x,
            innerHeight: y
        });
    }

    $(document).ready(function(){
        Resize_Box();
    });
</script>

Когда Iframe полностью загружен, этот код будет выполнен, а размер окна Colorbox будет изменен. (Убедитесь, что этот код работает, только если вы используете один и тот же домен для Parent и Iframe)

1 голос
/ 21 февраля 2012

Вы пробовали resize() без каких-либо аргументов?Это должно измениться с его собственными автоматическими вычислениями.Но вы также можете попробовать

$.fn.colorbox.resize({innerHeight:innerHeight});

Проверьте эту ссылку для получения дополнительной информации.

...