Книга: JavaScript. Подробное руководство, 6-е издание

19.6.2.1. jQuery.getScript()

19.6.2.1. jQuery.getScript()

Функция jQuery.getScript() принимает в первом аргументе URL-адрес файла со сценарием на языке JavaScript. Она асинхронно загружает и выполняет этот сценарий в глобальной области видимости. Выполняться могут сценарии как общего происхождения с документом, так и сторонние:

// Динамически загрузить сценарий с некоторого другого сервера
jQuery.getScript("http://example.com/js/widget.js");

Во втором аргументе можно передать функцию обратного вызова, и в этом случае библиотека jQuery вызовет ее сразу после того, как загруженный сценарий будет выполнен.

// Загрузить библиотеку и воспользоваться ею после загрузки
jQuery.getScript("js/jquery.my_plugin.js", function() {
  $('div').my_plugin(); // Воспользоваться загруженной библиотекой
});

Для получения текста сценария, который должен быть выполнен, функция jQuery.getScript() обычно использует объект XMLHttpRequest. Но для выполнения междоменных запросов (когда сценарий поставляется сервером, отличным от того, откуда был получен текущий документ), библиотека jQuery использует элемент <script> (раздел 18.2). Если запрос удовлетворяет ограничениям политики общего происхождения, в первом аргументе функции обратного вызова передается текст сценария, во втором - код состояния «success» и в третьем - объект XMLHttpRequest, использовавшийся для получения текста сценария. Возвращаемым значением функции jQuery.getScript() в данном случае также является объект XMLHttpRequest. Для междоменных запросов, которые выполняются без участия объекта XMLHttpRequest, текст сценария не сохраняется. В этом случае в первом и третьем аргументах функции обратного вызова передается значение undefined, и возвращаемым значением функции jQuery.getScript() также является значение undefined.

Функция обратного вызова, передаваемая функции jQuery.getScript(), вызывается только в случае успешного выполнения запроса. Если также необходимо получить извещение в случае ошибки, следует использовать низкоуровневую функцию jQuery.ajax(). То же относится и к трем другим вспомогательным функциям, описываемым в этом разделе.

Оглавление книги


Генерация: 0.051. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз