iframe мигает белым при загрузке

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

Кажется, что он запускает загруженное событие до того, как скрипт jQuery будет готов. я пытался

style="visibility:hidden;" onload="this.style.visibility = 'visible';"

но не работает. Любые другие идеи, чтобы избавиться от этого?


person Thomas    schedule 28.02.2010    source источник
comment
Здесь я нахожу еще одно хорошее работающее решение: swsharinginfo.blogspot.com/2011/11/   -  person    schedule 26.11.2011


Ответы (4)


Попробуйте использовать:

style="display:none" onload="this.style.display = 'block';"

visibility:hidden на самом деле не "скрывает" элемент как таковой - он по-прежнему занимает место, которое было бы, если бы он был видимым. display:none фактически делает элемент полностью невидимым, как будто его не существует.

person Lucas Jones    schedule 28.02.2010
comment
Без проблем. У меня была похожая проблема, когда я впервые узнал о visibility: hidden. :) - person Lucas Jones; 03.03.2010

Если у вас есть контроль над страницей в рамке, установите прозрачный цвет фона на этой странице. Большинство браузеров по умолчанию имеют белый цвет.

person Michael    schedule 20.11.2012

У меня были некоторые трудности с получением:

style="display:none" onload="this.style.display = 'block';"

работать в моей ситуации на Chrome и Safari.

Если они не работают для вас, попробуйте:

style="opacity: 0;" onload="this.style.opacity = 1;"

person lubert    schedule 21.04.2014

У меня была именно эта проблема, и я безуспешно пробовал все средства на этой странице. Он мигал в Chrome, а не в FireFox.

То, что сработало для меня, изменилось:

$("#iframe").prop('src', url);

to

$("#iframe").attr('href', url);
person AngularNewbie    schedule 03.06.2016