Одной из особенно важных областей применения URL_адресов со спецификато_ ром javascript: являются закладки, где они выступают в качестве мини_про_ грамм на языке JavaScript, или букмарклетов (bookmarklet). Букмарклеты лег_ ко можно запустить из меню или панели инструментов с закладками. Следую_ щий фрагмент кода в качестве значения атрибута href включает в себя тег <a>, содержащий URL_адрес со спецификатором javascript:. Щелчок на ссылке от_ крывает простейший обработчик JavaScript_выражений, который позволяет вы_ числять выражения и исполнять инструкции в контексте страницы:
<a href='javascript:
var e = "", r = ""; /* Вычисляемое выражение и результат */ do {
/* Отобразить выражение и результат,
а затем запросить новое выражение */
e = prompt("Выражение: " + e + "\n" + r + "\n", e);
try { r
= "Результат: " + eval(e); }
/* Попробовать вычислить выражение */
catch(ex) { r = ex; }
/* Или запомнить ошибку */
} while(e);
/* продолжать, пока не будет
введено пустое выражение, */
/* или щелкнуть на кнопке отмены */
void 0;
/* Это предотвращает замену текущего документа */
'>
Обработчик JavaScript_выражений
</a>
Обратите внимание: несмотря на то, что этот программный код записан в не_ скольких строках, синтаксический анализатор обработает его как одну строку, а потому однострочные комментарии (//) здесь работать не будут. Вот как выгля_ дит тот же программный код после удаления лишних пробелов и комментариев:
Ссылки, подобные этой, удобны, когда они «зашиты» в тело разрабатываемой страницы, но еще более удобны, когда они хранятся как закладки, которые можно запустить из любой страницы. Обычно закладки создаются щелчком пра_ вой кнопкой мыши на странице и выбором в контекстном меню пункта Добавить страницу в закладки или подобного ему. В броузере Firefox для этого достаточно просто перетащить ссылку на панель закладок.
Все приемы программирования на клиентском языке JavaScript, описываемые в этой книге, в равной степени могут использоваться для создания букмаркле_ тов, но сами они в этой книге подробно не описываются. Если вас заинтересова_ ли возможности этих маленьких программ, попробуйте выполнить поиск в Ин_ тернете по слову «bookmarklets». Вы найдете достаточное число сайтов, где есть масса интересных и полезных букмарклетов.