Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JavaScript: функция для поиска текста на странице
 
 автор: kb_nn   (12.04.2011 в 16:23)   письмо автору
 
 

пожалуйста :)

  Ответить  
 
 автор: TavRoX   (12.04.2011 в 18:16)   письмо автору
 
   для: kb_nn   (12.04.2011 в 16:23)
 

за такой вопрос вас точно сейчас пошлют в поиск
а чем вам Ctrl+f не устраивает?

  Ответить  
 
 автор: kb_nn   (12.04.2011 в 18:25)   письмо автору
 
   для: TavRoX   (12.04.2011 в 18:16)
 

что-то ничего подходящего там не нашел.
ничем.
хотя бы по той простой причине, что я программист.

  Ответить  
 
 автор: cheops   (12.04.2011 в 18:41)   письмо автору
 
   для: kb_nn   (12.04.2011 в 16:23)
 

Да нет в поиск посылать тут пожалуй не стоит (тем более, что поисковые системы повадились ссылаться на новые темы с посылами в поисковые системы), так как задача действительно серьезная, особенно, если требуется универсальное решение, которое препарирует HTML-документ сверху до низу.

PS А задача должна быть решена обязательно средствами JavaScript? Мне кажется на стороне сервера её решить гораздо проще, если можно передать странице GET-параметр.

  Ответить  
 
 автор: kb_nn   (13.04.2011 в 10:04)   письмо автору
 
   для: cheops   (12.04.2011 в 18:41)
 

да, обязательно через JavaScript.

  Ответить  
 
 автор: elenaki   (13.04.2011 в 17:48)   письмо автору
 
   для: kb_nn   (13.04.2011 в 10:04)
 


Данный скрипт реализует поиск слов на странице (надписи выделенные зеленым необходимо откорректировать).
   
 <a href="javascript:find={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','','f0e68c'); r.collapse(false)}; alert('Найдено: '+i+' слово(а)')}}};find.x()">Найти на этой странице</a> 
   

  Ответить  
 
 автор: kb_nn   (13.04.2011 в 18:12)   письмо автору
 
   для: elenaki   (13.04.2011 в 17:48)
 

большое спасибо.
но есть парочка но: 1) это работает только в эксплорере.
2) хотелось бы иметь поле ввода на странице с кнопкой найти, а не промпт- окно

  Ответить  
 
 автор: elenaki   (13.04.2011 в 20:02)   письмо автору
 
   для: kb_nn   (13.04.2011 в 18:12)
 

с формой тут было.
вот, нашла скрипт от 2006 года. надо?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var NS4 = (document.layers);
var IE4 = (document.all);

var win = this;
var n   = 0;

function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " was not found on this page.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert(str + " was not found on this page.");
}
}
return false;
}
//  End -->
</script>

    
</head>

<body>

<form name=search onSubmit="return findInPage(this.string.value);">
Find in Page
<input name=string type=text size=15 onChange="n = 0;">
<input type="submit" name="Submit" value="Search">

</form>
III AAA OOO EEE 
</body>
</html>

  Ответить  
 
 автор: kb_nn   (14.04.2011 в 10:30)   письмо автору
 
   для: elenaki   (13.04.2011 в 20:02)
 

он тоже только для IE.

  Ответить  
 
 автор: elenaki   (14.04.2011 в 12:33)   письмо автору
 
   для: kb_nn   (14.04.2011 в 10:30)
 

var NS4 = (document.layers);
var IE4 = (document.all);

  Ответить  
 
 автор: kb_nn   (14.04.2011 в 15:05)   письмо автору
 
   для: elenaki   (14.04.2011 в 12:33)
 

-
хотя, это уже намного лучше.
спасибо большое.

  Ответить  
 
 автор: ulot3049   (05.03.2012 в 16:02)   письмо автору
 
   для: kb_nn   (14.04.2011 в 15:05)
 

Вот тут попробуйте почитать:

http://lifeexample.ru/javascript-primeryi-skriptov/javascript-poisk-po-stranitse.html

JavaScript поиск по странице, валидный для всех браузеров;

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования