динамически загружать JavaScript? - PullRequest
7 голосов
/ 20 февраля 2011

Я использую много скриптов в приложении, некоторые из них не требуются для загрузки приложения, я хочу загрузить их непосредственно перед их использованием, если это возможно, зная, что мое приложение написано в ExtJS и использует много вызовов ajax

Ответы [ 3 ]

4 голосов
/ 20 февраля 2011

Вы можете посмотреть, используя LABjs , который является загрузчиком скриптов.

Старый и разоренный:

<script src="framework.js"></script>
<script src="plugin.framework.js"></script>
<script src="myplugin.framework.js"></script>
<script src="init.js"></script>

Новая жара:

<script>
   $LAB
   .script("framework.js").wait()
   .script("plugin.framework.js")
   .script("myplugin.framework.js").wait()
   .script("init.js").wait();
</script>

Обновление : Если вы хотите загрузить jQuery, вы можете сделать что-то подобное из этого сообщения в блоге .

<script type="text/javascript" src="LAB.js">
if (typeof window.jQuery === "undefined") {
    $LAB.script("/local/jquery-1.4.min.js");
}
3 голосов
/ 20 февраля 2011

Вы можете загрузить внешний файл, используя javascript, только когда / где вам это нужно:

function LoadJs(url){
  var js = document.createElement('script');

  js.type = "text/javascript";
  js.src = url;

  document.body.appendChild(js);

}

LoadJs("/path/to/your/file.js");
1 голос
/ 20 февраля 2011

Вот отличный пост на тему с предлагаемым решением, которое вы можете проверить: http://www.nczonline.net/blog/2011/02/14/separating-javascript-download-and-execution/

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