На этом шаге мы рассмотрим метод, используемый для загрузки сценария.
Иногда требуется, чтобы не весь программный код JavaScript загружался вместе со страницей. Мы можем не знать, какие сценарии потребуются, пока пользователь не выполнит какие-либо действия. В такой ситуации можно "на лету" генерировать теги <script>, по мере необходимости, однако существует более элегантный способ внедрения дополнительного программного кода, который заключается в том, чтобы с помощью jQuery напрямую загружать файл .js.
Загрузка сценария выполняется так же просто, как и загрузка фрагмента HTML. Для этого можно воспользоваться глобальной функцией $.getScript(), которая, как и родственные ей функции, принимает адрес URL файла сценария:
$(document).ready(function() { $('#letter-c a').click(function() { $.getScript('c.js'); return false; }); });
В нашем последнем примере нам требовалось обработать полученные данные, чтобы можно было с пользой использовать загруженный файл. В случае же с файлом сценария его обработка выполняется автоматически - сценарий просто запускается.
Сценарии, полученные таким способом, выполняются в глобальном контексте текущей страницы. Это означает, что они имеют доступ ко всем глобальным функциям и переменным, включая и библиотеку jQuery. Благодаря этому мы можем сымитировать работу примера, использующего данные в формате JSON, для подготовки и добавления в страницу разметки HTML во время выполнения сценария и поместить этот программный код в отдельный файл c.js:
var entries = [ { "term": "CACTUS", "part": "Yard Rock", "definition": "Cactus - американская рок-группа, образовавшаяся в 1970 году в Нью-Йорке и исполнявшая жёсткий хард-рок с элементами блюз-рока." }, { "term": "CAN", "part": "Kraut Rock", "definition": "Can - экспериментальная рок-группа, основанная в 1968 году в Западной Германии. Один из наиболее влиятельных краутрок-коллективов, сочетавший элементы этнической музыки и минимализма." }, { "term": "CANNED HEAT", "part": "Blues Rock", "definition": "Canned Heat - американская блюз-рок-группа, образованная в 1965 году в Лос-Анджелесе, Калифорния." }, { "term": "CARDIGANS, THE", "part": "Pop Rock", "definition": "The Cardigans - шведский музыкальный коллектив, созданный в Йенчепинге в 1992." }, { "term": "CHRISTIE", "part": "Pop Rock", "definition": "Christie - британская поп-рок-группа, образованная в 1969 году в Лидсе, Йоркшир, Англия певцом и автором песен Джеффом Кристи при участии музыкантов The Tremeloes и исполнявшая пауэр-поп с элементами блюз- и кантри-рока.." }, { "term": "COLDPLAY", "part": "Brit Pop", "definition": "Coldplay - британская рок-группа." } ]; var html = ''; $.each(entries, function() { html += '<div class="entry">'; html += '<h3 class="term">' + this['term'] + '</h3>'; html += '<div class="part">' + this['part'] + '</div>'; html += '<div class="definition">' + this['definition'] + '</div>'; html += '</div>'; }); $('#dictionary').html(html);
Теперь щелчок на ссылке С будет давать желаемый результат, как показано на рисунке 1.
Рис.1. Вид страницы после загрузки данных с дополнительным сценарием
Полный текст этого примера можно взять здесь.На следующем шаге мы рассмотрим загрузку документа XML.