Скрипт: поиск по странице сайта. Не работает...
Попался скрипт поиска по странице сайта. Наверное древний, но в IE8 работает (поиск по слову, части слова, min 2-м буквам), а вот в Opere и Firefox нет. Доработайте, пожалуйста...
<form name="search" onSubmit="return findInPage(this.string.value);"> <font size=3><input name="string" type="text" size=15 onChange="n = 0;"></font> <input type="submit" value="Поиск"> </form> <script language="JavaScript"> var NS4 = (document.layers); var IE4 = (document.all); var win = window; 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("Not found."); } 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("Not found."); } } return false; } </script> |
даже не знаю с чего начать.
пойду по порядку: 1) Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. 2) Цитата:
настолько, что никто в здравом уме его дорабатывать не станет. проще и правильней с нуля написать 3) Цитата:
Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Цитата:
Дело в том, что скрипт в IE8 работает, а нашел я его в свободном доступе... Просто из других скриптов с такой же функцией (поиск по текущей странице) попадалась одна хрень... Вопросы "по ходу дела" задавать не могу, т.к. в теме "0". Спасибо за установление срока "древности"... |
Цитата:
вы все еще не привели свое первое сообщение в читаемый вид. Цитата:
|
Прикладываю усилия:
Цитата:
<script language="JavaScript">...</script> в HEAD. |
Цитата:
Это вы его просто используете. Тут особо негде напрячься |
Цитата:
|
Цитата:
ныне мертв. а цифры в именах переменных ничего не означают, в плане проверки и не в этих строчках основная проблема |
Все, вопросы кончились.
Буду искать другой скрипт для Opera и FF |
Хм… а никто не знает, с каких версий появилась глобальные функция find в Chrome и Safari?
В Fx она давно. Сейчас подводит только Opera, в 10-й версии все еще нет window.find и уже нет document.selection.createRange().findText… ivIvan, поиск текста в браузерах, не поддерживающих TextRange, очень затруднен, приходится работать с текстовыми узлами, а слова могут быть разбиты на несколько узлов, и пробельные символы браузер не все отображает, из-за чего алгоритм становится очень сложным, это не 2 строчки кода подсказать, написание такого скрипта — это уже работа. ----------- В Safari 3.2 есть функция find, для большинства проектов ниже этой версии нет смысла делать поддержку, на старые версии Chrome в принципе никто и не ориентируется. Значит в аутсайдерах новая Opera… |
Часовой пояс GMT +3, время: 05:14. |