Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java script поиска по сайту, Поиск по сайту 
:(
    Опции темы
mebios
  Дата 23.10.2004, 18:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











:sample Люди помогите найти Java script поиска по сайту если есть готовые просьба скиньте на мой E-mail: [email protected]
  Вверх
Sardar
Дата 23.10.2004, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Инересно что ты имеешь в виду? ;-)

JаvaScript может найти что нибудь на странице, в настоящий момент загруженной в твой браузер, поиск по всем старницам делается на сервере.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 24.10.2004, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Странно, создано 2 индетичных топа, пишу все же тут:

Код

<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','','yellow');
        r.collapse(false)
     };
alert('Найдено: '+i+' слово(а)')
  }
     }
  }; FD983r.x()"><U>Поиск по сайту</U></a>


Лучше бы еще все это поместить в onclick, дабы не засорять статус...
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 25.10.2004, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Aliance @ 24.10.2004, 17:58)

Странно, создано 2 индетичных топа, пишу все же тут:

Мусор из ветки Java пришел :D

Цитата(Aliance @ 24.10.2004, 17:58)

Лучше бы еще все это поместить в onclick, дабы не засорять статус

Лучше бы вообще отдельную функцию сделать, мне нравится минимализм и извращенные вкусы, но так уже перебор :)
Что бы не только в ИЕ работало:
Код
<script language="Javascript" type="text/javascript">
<!--
function find() {
if((s = prompt('Найти:',''))) {
  var r=new RegExp(s,"gi");
  document.body.innerHTML=document.body.innerHTML.replace(r, function(str) {
    return "<span style='background-color: yellow'>"+str+"</span>";
  });
}
}
//-->
</script>
<span onClick="find()"><U>Поиск по странице</U></span><br>

Но метод плох тем что ищет по всей разметке, а не по тексту, поробуй поискать u :)
Жалеем что только в ИЕ есть innerText, придётся перебирать всё дерево документа и искать отдельно в каждой ноде.

IE рулит, все таки хорошо в нем дополнения к DOM придуманны!


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Гость_DeathStorm
Дата 25.10.2004, 14:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











поиск по сайту как таковой можно сделать только на сервере
но из области изврата есть тоже, это и selection.createRange
а можно сделать так, создаешь js где описвапешь все страницы сайта ну самые существенные слова
затем просто через индекс оф ищещь их там и выдаешь результат с указанием на страницы
все элементарно :)
  Вверх
Aliance
Дата 25.10.2004, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Sardar @ 25.10.2004, 01:30)

Лучше бы вообще отдельную функцию сделать, мне нравится минимализм и извращенные вкусы, но так уже перебор

Ну я это и имел ввиду, не буду ж я все это пихать в онклик, как сделал с хрефом :-))))))))))))


Цитата(Sardar @ 25.10.2004, 01:30)

Что бы не только в ИЕ работало:

:hehe не бейте больно... :) тайма нету ;-)
PM MAIL WWW ICQ Skype   Вверх
Mebios
Дата 25.10.2004, 19:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











:) Люди ВСЕМ БОЛЬШОЕ СПАСИБО,но ещё подскажите я использовал function find() в Explorere всё работает отлично, но в Опере поиск не работает.
  Вверх
Sardar
Дата 25.10.2004, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Если ты использовал код от Aliance, то он действительно только для ИЕ. Мой код юзать не сотоит, это был просто пример :)

Поиск по сайту, а не по странице нужно делать на сервере. С поиском по странице хорсошо справляется сам браузер ;-)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mebios
Дата 25.10.2004, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



у меня неиного другой код финкции , но функция называется абсолютно также и он(скрипт) ищет по всему сайту по созданной базе,
Добавлено @ 20:32
Если function find() работает только на ИЕ, то какая функция работает и в Опере
PM MAIL   Вверх
Sardar
Дата 25.10.2004, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Mebios @ 25.10.2004, 19:29)
у меня неиного другой код финкции , но функция называется абсолютно также

Ты шутишь или серьезно...? :D

Вообще имя ни о чем не говорит, мы тут вроде сами код пишем, а имя только имя. У IE есть встроенные функции для выделения искомых слов при загрузке и многое другое, Опера и прочие бразуеры это не поддерживают.
Теперь покажи свой код, иначе не разберемся.

А вообще JavaScript надо учить... ;-)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mebios
Дата 26.10.2004, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



вот это и естьтот самый скрипт

Код
var msg="";
var yes=false;
var found=0;
var bold="";
var boldN="";
var resultsN="";

function find ()
{

var search= "";

search =  document.searchform.searchbox.value;

if(search.length <3) { return;}
var searchFor=search.toUpperCase();

for(i=0;i<searchInfo.length;i++)
{
 for(n=0;n<searchInfo[i].info.length;n++)
 {
  var results=searchInfo[i].info.substring(n,n+search.length);
   if(results.toUpperCase()==searchFor)
   {
    yes=true;
    bold=searchInfo[i].info.substring(0,40);
    bold +=".....";
    break;
   }
 }

if(yes==true)
     {
  found++;
  boldN=searchInfo[i].name;
  msg+=  '<a href="'+searchInfo[i].link+'">'+boldN+'</a>   - '+bold+'<br>';
  yes=false;
     }
}




var table=" <b> РЕЗУЛЬТАТЫ ПОИСКА:  </b>   Найдено <font size=+1 color=#00008B>"+found+"</font> ссылок  "+ '<font color=#FF0000><b>' + search + '</b></font><br><br>';

if(document.all) document.all.sR.innerHTML =table + '\n' +msg;

if(document.layers)
{
//Здесь открыть новое окно, куда все и записать.
var neww = window.open("", "neww");
neww.document.write(table + '\n' + msg);
neww.document.close();
}

 window.status="Поиск завершен.";

 yes=false;
 found=0;
 document.forms[0].searchbox.value="";
 resultsN="";
 bold="";
 msg="";
 boldN="";
}

PM MAIL   Вверх
Aliance
Дата 26.10.2004, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Естественно он будет работать только под IE и NN.
И вообще, пользуйся тегами code
PM MAIL WWW ICQ Skype   Вверх
Mebios
Дата 26.10.2004, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



:) Конечно я осознаю что я ламер в этом деле, и что ты опытний человек, но я настроил так что он работает везде и пока меня всё устраивает.




ВСЕМ БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ!!!!!

осбенно Sardar 'у! :D
PM MAIL   Вверх
Sardar
Дата 26.10.2004, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



А-а-а!!! Руки бы поотрывал за такой код :D
Ситуация вижу сменилась, ищем по базе, тогда вот пример:
Код
<script language="Javascript" type="text/javascript">
<!--
searchInfo=[
{info:"ПРИВЕТ ВСЕМ", link:"www.yandex.ru", name:"Yandex Search"},
{info:"GOOGLE NAJDET VSE", link:"www.google.ru", name:"Google"}
];

function find () {
 var found=0, msg="";
 var s=document.forms.searchform.searchbox.value.toUpperCase();
 if(s.length <3) {alert("Слово для поиска слишком короткое!"); return;}
 for(var i=0; i<searchInfo.length; i++) {
   if(searchInfo[i].info.indexOf(s)>=0) {
  msg+= '<a href="'+searchInfo[i].link+'">'+
   searchInfo[i].name+"</a>&nbsp;&nbsp;&nbsp;-&nbsp;"+
   searchInfo[i].info.substring(0,40)+".....<br>\n";
   found++;
}
 }
 var conte="<html><body><b>РЕЗУЛЬТАТЫ ПОИСКА:&nbsp;&nbsp;</b>&nbsp;&nbsp;&nbsp;Найденно <font size='+1' color=#00008B>"+found+"</font> ссылок &nbsp;<font color=#FF0000><b>" +document.forms.searchform.searchbox.value+ "</b></font><br><br>" + msg+"</body></html>";
 var neww = window.open("", "new");
 neww.document.write(conte);
 neww.document.close();  
 document.forms.searchform.searchbox.value="";
 window.status="Поиск завершен."
}
//-->
</script>
<form name="searchform">
<input type="text" name="searchbox"><br>
<input type="button" onClick="find()" value="Search">
</form>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 27.10.2004, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата
Руки бы поотрывал за такой код

:offtopic твоя любимая фраза! :)


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1309 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.