Как приоритетное выполнение DOM в JavaScript - PullRequest
1 голос
/ 25 ноября 2011

У меня проблема, когда я хочу document.getElementById(); в HTML-тег.пример =

<html>
<head>
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
<script type="js"> //note this example is not found so browser is take time to execution
</head>
<body>
<div> ...
<div id="test">
</div>
</body>
</html>

мой вопрос, как выполнить document.getElementById("test"); без ожидания загрузки сценарий не найден? Это может занять больше времени. Как я могу это исправить. Спасибо за ответ.

примечание: решите не удалять или изменять скрипт для найденного каталога.на всякий случай, если скрипт не найден.

Ответы [ 3 ]

1 голос
/ 25 ноября 2011

Предполагая, что <srctype> должно быть <script>, и что вы спрашиваете, что вы можете сделать с несуществующими скриптами, на которые ссылаются со страницы, единственный возможный ответ - это то, что вы переключаетесь на динамический подход к загрузке скриптов, такой как LABjs или что-то еще, или, конечно, перестать включать теги скриптов, которые ссылаются на несуществующие скрипты.

Браузеры всегда будут пытаться загрузить и запустить <script> теги, которые не помечены как «асинхронные», и это, конечно, довольно новый атрибут, поведение которого не совсем одинаково даже в тех браузерах, которые его поддерживают.

1 голос
/ 25 ноября 2011

Добавьте defer="defer" к тем <script /> тегам, для которых вы хотите отложить выполнение.

ПРИМЕЧАНИЕ: отсрочка работает в IE и более новых версиях Firefox и Chrome

1 голос
/ 25 ноября 2011

Попробуйте использовать headJS , который загрузит ваши скрипты асинхронно и после document.ready.

Другой вариант - переместить srctype в конец файла, чтобы они были загружены последними.Но я не думаю, что document.ready будет выполняться, пока браузер не загрузит эти файлы

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