Какие оптимизации выполняет браузер, когда элемент DOM отображается за пределами экрана?

Я контролирую отображение iframe в другом домене. Есть ли четкий способ определить, отображается ли этот iframe выше или ниже сгиба на родительской странице? Очевидно, что я не могу получить доступ к родительской модели DOM из-за ограничения такой же политики происхождения.

Например, я попытался измерить скорость рендеринга для тега canvas или VML, надеясь, что она будет быстрее, когда тег не отображается на экране. Это не сработало - не было заметной разницы в скорости. То же самое для манипулирования DOM - похоже, нет способа различать операции перекомпоновки / перерисовки ниже или выше сгиба.

Что насчет вспышки? У меня не так много опыта, но можно ли проверить, как быстро браузер обрабатывает flash-операции? Или у flash есть какие-то «невидимые» события за пределами стандарта DOM?


person Community    schedule 07.12.2009    source источник
comment
Понадобится ли вам это для производственного использования? Не могли бы вы немного уточнить фон?   -  person Pekka    schedule 09.12.2009
comment
Конечно. Это часть системы показа рекламы, и я хотел бы провести тест, чтобы увидеть процент времени, в течение которого реклама видна пользователям, чтобы получить более точное представление об их ценности. Это будет запущено в производство очень скоро и для ограниченного количества показов объявлений, поэтому производительность не очень важна. Конечно, это не должно нарушать работу страницы (или iframe) или каким-либо образом отвлекать внимание пользователя.   -  person Andrey Fedorov    schedule 09.12.2009
comment
Как именно показывается реклама, задействован ли фрагмент Javascript?   -  person Pekka    schedule 11.12.2009
comment
Чтобы уточнить, вы имеете в виду, что вы контролируете веб-страницу, которая отображается в iframe на внешнем домене? (Например, вы не можете контролировать сам фактический тег iframe или что-либо еще на странице, на которой находится тег iframe... это правильно?)   -  person philfreo    schedule 14.12.2009
comment
Почему это вики сообщества? Вы можете получить лучшие ответы без этого.   -  person philfreo    schedule 14.12.2009
comment
@philfreo: извините за вики сообщества, всегда по умолчанию, чтобы люди могли исправлять опечатки и т. д.   -  person Andrey Fedorov    schedule 14.12.2009


Ответы (3)


Я так не думаю.

То же ограничение политики происхождения предотвращает это, хотя вы можете использовать параметры URL, которые могут быть установлены javascript, встраивающим объявление, для смещения на странице.

person CodeJoust    schedule 07.12.2009

По словам автора SoundManager2 Скотта Шиллера, существует небольшая разница в задержке коммуникационного моста JS->Flash в зависимости от того, отображается ли флэш-ролик на экране или нет. То есть он медленнее, когда его нет на экране.

person Community    schedule 15.12.2009
comment
Не могли бы вы получить его комментарий? - person Andrey Fedorov; 15.12.2009

Это действительно зависит от браузера, так как разные браузеры по-разному взаимодействуют с плагином Flash. Самое точное объяснение, которое я смог найти, содержится в старом сообщение с подключенным пикселем.

На момент написания Firefox не запускал flash-объект до тех пор, пока он не прокручивался на странице. IE, с другой стороны, изменял размер элемента Stage, когда он прокручивался в поле зрения. Версии браузера, Flash или ОС не указаны, так что это могло измениться после этого теста.

Короче говоря, мне нужно сделать флеш-объект и играть с ним, наблюдая за различными событиями.

person Community    schedule 15.12.2009