Написание сценария для DOM и запуск его до завершения рендеринга DOM - PullRequest
4 голосов
/ 13 января 2010

Мой JavaScript (скажем, File 1) должен извлечь другой файл JS (скажем, File 2) с моего сервера и завершить его выполнение до того, как DOM завершит рендеринг. Файл 2 на самом деле является рекламным скриптом (например, AdSense), который использует document.write. Я заметил, что если я получу файл 2, создав новый тег сценария из файла 1 и добавив его в головной узел DOM (используя методы манипуляции DOM), реклама будет корректно отображаться в Firefox, но не в IE

Исследования показывают, что сценарии, которые динамически добавляются в DOM таким образом, могут запускаться ПОСЛЕ того, как DOM уже визуализировал, и в этом случае document.write перезаписывает всю страницу. Какие у меня варианты? Я могу подумать об этом .... Какой из них гарантированно позволит Файлу 2 манипулировать DOM, прежде чем он выполнит рендеринг?

1) Document.write сценарий тега для файла 2 из файла 1 2) синхронный вызов Xmlhttp (не уверен, блокирует ли это DOM от рендеринга)

Справка:)

1 Ответ

2 голосов
/ 13 января 2010

Синхронные вызовы блокируют DOM от рендеринга.

Если вы не хотите блокировать, вы можете сделать асинхронный вызов.

Я бы использовал document.write(), потому что он выполняет код тогда и там. не после того, как ничего загружено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...