динамическое создание сценариев javascript и отложенных сценариев - PullRequest
0 голосов
/ 28 мая 2011

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

Я знаю о динамическом создании сценариев и вставке их в заголовок документа, для которого у меня есть функция.

, например:

 function loadJS(loc){
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = loc
 }

Я видел этот атрибут отсрочки, и я не уверен, как его использовать и каковы его основные преимущества / недостатки?

Заранее спасибо, ребята!

1 Ответ

2 голосов
/ 09 июня 2011

Я искал похожие ответы и собирался опубликовать вопрос, когда нашел этот вопрос stackoverflow - и ваш.

Итак, вот что я узнал:

  • Сценарий defer приближается намекает на браузер, чтобы дождаться окончания загрузки документа перед выполнением сценария. НО он все равно сначала загружает скрипт (при условии, что он находится в заголовке документа).
  • В jQuery есть метод .getScript(), который можно использовать для загрузки любого количества скриптов в любое время и в любом месте. Например, вы можете применить его к событию onClick по ссылке!
  • Существует также несколько библиотек, предназначенных для динамической неблокирующей загрузки, таких как LABjs , RequireJS или HEADjs .

Полагаю, вам решать, какой подход вы выберете, если вы работаете над небольшим проектом и уже используете и / или привыкли к использованию jQuery, тогда я бы согласился. В противном случае, возможно, проверьте одну из библиотек.

Просто еще раз заявим, что, насколько я могу сказать, DEFER не предотвратит блокировку страницы при загрузке скриптов. Но типичное и очень простое решение - включить все ваши скрипты в нижний колонтитул страницы, а не в ГОЛОВУ.


Люди, пожалуйста, не стесняйтесь поправлять меня, если я ошибаюсь в любом из вышеперечисленных! - Спасибо

...