Я думаю, что в любом случае ваш iframe будет загружать его содержимое. Вы можете выполнить простой тест, скрыв, а затем показывая iframe со страницей, загрузка которой занимает некоторое время.
Если в iframe (когда он станет видимым) сразу отображается длинная страница загрузки, вы узнаете, что она была загружена до показа.
Если вы используете FireBug, вы можете использовать его для просмотра HTTP-запросов. Это покажет вам, есть ли HTTP-запрос, сделанный iframe.
Что касается различий в производительности, я сомневаюсь, что есть что-то между двумя фрагментами HTML, которые вы разместили. Во всяком случае, я бы сказал, что установка видимости скрытого будет более «эффективной», поскольку браузеру не нужно беспокоиться о визуализации чего-либо визуально, даже если это 0 * 0px.
Тем не менее, я не думаю, что есть какая-то реальная разница в производительности и особенно нет основных различий в производительности.
Обновление:
Я только что проверил в FireBug, чтобы увидеть, загружает ли iframe свое содержимое, когда установлено visibility:hidden
, display:none;
, а атрибуты height
и width
установлены на 0px
, и во всех случаях iframe содержимое было загружено.