Прозрачный фон iframe на Fancybox 2.1.4

Согласно заголовку, добавление нижеприведенного для удаления фона в Fancybox 2.1.4 отлично работает в Safari, FF и Chrome, но не в IE. (проверено только в IE8)

beforeShow: function(){
    //transparent background
    $(".fancybox-skin").css("background","transparent");

    //remove dropshadow
    $(".fancybox-skin").css("-webkit-box-shadow","0 0 0 rgba(0, 0, 0, 0)");
    $(".fancybox-skin").css("-moz-box-shadow","0 0 0 rgba(0, 0, 0, 0)");
    $(".fancybox-skin").css("box-shadow","0 0 0 rgba(0, 0, 0, 0)");
}

person Jin    schedule 10.05.2013    source источник
comment
Цвета rgba не поддерживаются в IE8. Для решения, пожалуйста, прочитайте непрозрачность фона CSS с rgba, не работающим в IE 8   -  person Sam R.    schedule 10.05.2013
comment
С какой версией Internet Explorer у вас возникли проблемы? Такие функции, как rgba и box-shadow, изначально не поддерживаются в более ранних версиях.   -  person Sampson    schedule 10.05.2013
comment
rbga должен удалить тень, а не цвет фона.   -  person Jin    schedule 10.05.2013
comment
Решение найдено после попытки diff. настройки, stackoverflow не позволяет мне опубликовать ответ через 6 часов, после этого опубликую подробности. Проблема заключается в атрибуте iframe: для него должно быть установлено значение allowtransparency=true.   -  person Jin    schedule 10.05.2013


Ответы (1)


После копания в файлах src Fancybox проблема заключается в атрибуте iframe «allowtransparency».

В строке jquery.fancybox.js 140 замените строку ниже:

iframe   : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true"></iframe>',
person Jin    schedule 10.05.2013