Если вас попросить назвать типы поиска информации в Интернете, вы наверняка назовете поиск по всей глобальной сети, поиск в пределах баз данных и каталогов ресурсов и поиск по структуре конкретного веб-узла. Действительно, эти типы наиболее распространены и поэтому мы, к сожалению, часто забываем о такой чрезвычайно полезной и удобной для пользователя функции, как внутренний поиск — поиск по ключевым словам в пределах одного документа. В оффлайновой жизни любой пользователь ежедневно пользуется этой возможностью, экономя время на просмотр всего большого текстового документа и прибегая к услугам программы, в которой он работает, с целью быстрого нахождения искомого слова или фразы (например, применение комбинации клавиш Ctrl+F в редакторе MS Word).
Почему тогда не использовать такую возможность и для веб-документов, которые зачастую тоже бывают очень большими по объему и требуют продолжительной прокрутки окна браузера (техническая документация, законодательные акты, статьи и пр.)? По-моему, польза такого механизма очевидна, поэтому перейдем непосредственно к тому, как это сделать. В раздел BODY перед блоками основного текста нужно вставить следующий код:
<a href=»javascript:
FD983r=
{
x:function()
{
var r,i,s=document.selection.createRange().text;
if(!s)
s=prompt(‘Введите ключевое слово:’,»);
if(s)
{r=document.body.createTextRange();
for(i=0;r.findText(s);i++)
{r.execCommand(‘BackColor’,»,’red’);
r.collapse(false)};
alert(‘Найдено: ‘+i+’ слов(а)’)}
}
}
;
FD983r.x()»>Начать внутренний поиск</a>
Теперь разберем некоторые строки:
s=prompt(‘Введите ключевое слово:’,»); — функция ввода пользовательского запроса (при нажатии на ссылке начала поиска (об этом чуть ниже), появляется окно со строкой ввода ключевого слова, См. Рисунок 2); предложение в скобках отображается над формой ввода ключевого слова и может быть изменено по вашему усмотрению);
{r.execCommand(‘BackColor’,»,’red’); — параметры выделения найденных в тексте документа слов (в данном случае найденные слова будут выделяться красным цветом);
FD983r.x()»>Начать внутренний поиск</a> — ссылка вызова окна с формой пользовательского запроса.
Ниже этого кода идет текст документа. Нажав на ссылку внутреннего поиска, посетитель сайта вводит в открывшемся окне ключевое слово и нажимает Enter (или кнопка OK). Скрипт анализирует текст страницы, выделяет найденные слова указанным в коде сценария цветом и выводит сообщение о количестве обнаруженных слов.