Показать сообщение отдельно
  #1 (permalink)  
Старый 15.08.2013, 10:54
Новичок на форуме
Отправить личное сообщение для Корделия Посмотреть профиль Найти все сообщения от Корделия
 
Регистрация: 15.08.2013
Сообщений: 5

Поиск слова на странице (javascript)
Добрый день. Искала в интернете много примеров поиска слова по странице. Примеров мягко сказать не так уж и много..несколько из которых вообще не работоспособные.

Данный скрипт оказался рабочим. И я даже разобралась в нем. Однако хотела бы спросить как сделать чтобы допустим после совершения поиска если пользователь нажимал на кнопку мыши то все выделения исчезали? И второй моментик как сделать переход по выделенным словам кнопками?


<script type="text/javascript">
         var lastResFind = ""; // последний удачный результат
         var copy_page = ""; // копия страницы в ихсодном виде
         function TrimStr(s) {
             s = s.replace(/^\s+/g, '');
             return s.replace(/\s+$/g, '');
         }
         function FindOnPage(inputId) {//ищет текст на странице, в параметр передается ID поля для ввода
             var obj = window.document.getElementById(inputId);
             var textToFind;

             if (obj) {
                 textToFind = TrimStr(obj.value);//обрезаем пробелы
             } else {
                 alert("Введенная фраза не найдена");
                 return;
             }
             if (textToFind == "") {
                 alert("Вы ничего не ввели");
                 return;
             }

             if (textToFind.length < 2) {
                 alert("Слишком короткий текст")
                 return;
             }

             if (copy_page.length > 0)
                 document.body.innerHTML = copy_page;
             else copy_page = document.body.innerHTML;


             document.body.innerHTML = document.body.innerHTML.replace(eval("/name=" + lastResFind + "/gi"), " ");//стираем предыдущие якори для скрола
             document.body.innerHTML = document.body.innerHTML.replace(eval("/" + textToFind + "/gi"), "<a name=" + textToFind + " style='background:yellow; font-size:15px'>" + textToFind + "</a>"); //Заменяем найденный текст ссылками с якорем;
             lastResFind = textToFind; // сохраняем фразу для поиска, чтобы в дальнейшем по ней стереть все ссылки
             window.location = '#' + textToFind;//перемещаем скрол к последнему найденному совпадению

         }
    </script>
Ответить с цитированием