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

В моем приложении есть модальный диалог с iframe внутри. Я написал свой код jQuery таким образом, что при открытии диалогового окна он устанавливает соответствующий атрибут src для iframe, чтобы содержимое загружалось. Однако во время задержки между открытием диалогового окна и загрузкой содержимого iframe отображается в виде белого поля. Я бы предпочел, чтобы у iframe был прозрачный фон.

Я попытался установить allowtransparency="yes" в iframe. Любые идеи? Спасибо!


person brianjcohen    schedule 05.08.2009    source источник


Ответы (4)


Я использовал это, создавая IFrame через Javascript, и это сработало для меня:

// IFrame points to the IFrame element, obviously
IFrame.src = 'about: blank';
IFrame.style.backgroundColor = "transparent";
IFrame.frameBorder = "0";
IFrame.allowTransparency="true";

Не уверен, что это имеет значение, но я устанавливаю эти свойства перед добавлением IFrame в DOM. После добавления его в DOM я установил для его src реальный URL-адрес.

person Daniel Magliola    schedule 05.08.2009
comment
+1: до сих пор не знал о allowTransparency. Спасибо :) - person ; 30.12.2009

<style type="text/css">
body {background:none transparent;
}
</style>

это может сработать (если вы поместите iframe) вместе с

<iframe src="stuff.htm" allowtransparency="true">
person jackson5    schedule 02.07.2011

Установите цвет фона src на none и разрешите прозрачность.

[WITHIN SCR PAGE STYLE]
<style type="text/css">
    body
    {
        background:none transparent;
    }
</style>

[IFRAME]
<iframe src="#" allowtransparency="true">Error, iFrame failed to load.</iframe>

ПРИМЕЧАНИЕ. Я кодирую свой CSS немного иначе, чем все остальные.

person Tropilac    schedule 01.11.2016

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

person Jacob Wyke    schedule 05.08.2009
comment
Потому что нет надежного способа узнать, когда закончилась загрузка iframe. Навигация по iframe осуществляется путем установки его атрибута href, а не с удаленной загрузкой. - person brianjcohen; 05.08.2009
comment
вы МОЖЕТЕ, если вы использовали setTimeout для запуска видимости через короткий промежуток времени, давая время для загрузки кадра.. ... Возможно, это не решение, а возможный обходной путь.. - person James Walker; 21.03.2021