• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Как модифицировать скрипт поиска на javascript?

angry_cat

Новые
Регистрация
7 Апр 2010
Сообщения
28
Реакции
1
Баллы
0
Как модифицировать скрипт поиска на javascript?

Здравствуйте. Проблема в следующем: нужен скрипт поиска НА СТРАНИЦЕ (то есть чтоб ни по поисковикам не лазил, ни в инет вообще не выходил). Нашла вот такой простейший скриптик:

<script type="text/javascript">
function searchTextOnPage(inputId) {

var obj = window.document.getElementById(inputId);

var textToFind;

if (obj) {
textToFind = obj.value;
} else {
alert("Unable to find input with id = " + inputId);
return;
}

if (textToFind == "") {
alert("Please, input text");
return;
}

document.body.innerHTML = document.body.innerHTML.replace(eval("/"+textToFind+"/g"),"<b>"+textToFind+"</b>");

var obj = window.document.getElementById(inputId);
obj.value = textToFind;
}

</script>

реализуется так:

<input type="text" id="text-to-find"> <a href="#" onclick="javascript: searchTextOnPage('text-to-find'); return false;">Найти</a>

Работать-то работает, то есть выделяет жирным нужные слова, но хотелось бы чтобы при новом поиске предыдущие найденные слова снова становились невыделенными, а еще было бы крайне желательно ,чтобы не приходилось потом страничку прокручивать в поисках выделенных слов, а чтобы он, как в файрфоксе, делал поиск вниз от выделения. Как это можно сделать? Диплом горит. Заранее благодарю.
 
По поводу жирного текста в документе, могу подсказать только идею, поскольку яваскрипт знаю поверхностно: наверно было бы лучше сделать отдельную страницу для поиска, то есть изменять не текущую страницу, на которой вы ищете текст, а специальную страницу поиска. То есть, оригинал копируется на новую страницу, на которой уже и происходит выделение жирным шрифтом. По поводу прокрутки: это реализуется с помощью механизма внутренних ссылок в html (забыл, как это правильно называется). Завтра постараюсь выложить пример
 
Немного запоздало, но вот выкладываю обещанное (пример из написанной некогда статьи по гитарам) :
HTML:
   <a href="#1"><img src="acustic.jpg" title="Акустическая гитара"></a> 
   <a href="#2"><img src="electro.jpg" title="Электоргитара"></a> 
   <a href="#3"><img src="bas.jpg" title="Бас-гитара"></a> 
А в тексте, куда будут вести эти ссылки:
HTML:
<a name=1></a>
  <center><u>Акустическая гитара</u></center>
HTML:
<a name=2></a>
  <center><u>Электрогитара</u></center>
HTML:
<a name=3></a>
  <center><u>Бас-гитара</u></center>
 
спасибо вам огромное, все работает :)
 
И поиск на отдельную страницу выводит? Выложите скрипт на память :)
 
поиск не выводит, но прокрутку делает ) вообще взяла другой скрипт и по вашим предложениям его модифицировала )
 
ну, хоть что-то
 
Назад
Сверху