5

Вопрос по jquery – jQuery и Colorbox: как автоматически установить высоту и ширину iframe colorbox

Я скачала последнюю версиюColorbox JQuery плагин, Теперь я установил истинный цвет для iframe и inline. моя проблема colorbox (лайтбокс) не установлен автоматически высота / ширина формы внешней страницы. как это исправить? Есть способ для этого?

МОЯ функция colorbox:

<script>
$(document).ready(function(){
 $(".iframe").colorbox({inline:true,iframe:true});
</script> 

Спасибо

  • К сожалению, это работает только тогда, когда вы можете изменить источник того, что находится в вашем iFrame. Если вы загружаете что-то, над чем у вас нет контроля, кажется, что единственный вариант - вручную установить высоту / ширину.

    от
  • Это хороший сценарий. Кроме того, следует понимать, что технически проблема не в том, что ColorBox не знает, что находится в iframe, а в том, что БРАУЗЕР не знает, пока контент не поступит по проводам в DOM.

    от
  • Кто-то наконец-то нашел рабочее решение! Спасибо!

    от
  • 19

    Поскольку colorbox не будет знать

    что находится внутри iframe, автоматическое изменение размера не может работать так, как вы ожидаете.

    Я делаю это так: установить ширину + высоту по умолчанию при открытии colorbox с этими параметрами:

    { iframe: true, innerWidth: 430, innerHeight: 370, scrolling: false, ... }
    

    Выберите размер, наиболее подходящий для вашего контента: colorbox откроется и загрузит iframe в это поле.At the end of the iframe's html bodyПоместите этот маленький скрипт, который изменяет размеры colorbox изнутри iframe:

    $(function(){
        parent.$.colorbox.resize({
            innerWidth:$('body').width(),
            innerHeight:$('body').height()
        });
    });
    

    Чтобы второй скрипт работал, jQuery должен быть загружен внутри iframe. В противном случае вам придется использовать собственный JavaScript для выполнения этой задачи.

    И убедитесь, что все изображения внутри этого iframe имеют заданную ширину / высоту или полностью загружены. В противном случае innerWidth / innerHeight даст неправильные значения.