Какие оптимизации выполняет браузер, когда элемент DOM выводится за пределы экрана? - PullRequest
6 голосов
/ 07 декабря 2009

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

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

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

Ответы [ 3 ]

2 голосов
/ 07 декабря 2009

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

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

1 голос
/ 15 декабря 2009

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

0 голосов
/ 15 декабря 2009

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

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

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

...