Starší komentáře ke článku: Vyhledávání v textu stránky pomocí JavaScriptu
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 22.8.2001 9:03:32
Námet ma zaujal. Škoda, že uvedený script obsahuje chyby spôsobujúce jeho nefunkčnosť.
Čech
Datum vložení: 22.8.2001 10:48:07
Velice se omlouvam za chyby vznikle pri prepisu zdrojoveho kodu skriptu.
V prikladu je chyba v radku
for (int i = 0; i <= n && (found = txt.findText(str)); i++)
!int! je klicive slovo C++ a v JavaScriptu nema co delat, prosim smazte ho.
Dale je treba pred posledni slozenou zavorku funkce zapsat prikaz return false.
Datum vložení: 14.5.2006 17:51:01
Nebylo by lepsi napsat, jenom funkční kód a ty zbytečné kecy si odpustit! Pro ty méně zručné vkládám správný a funkční kód: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Najdi</title> </head> <body> <script language="JavaScript"> var NS4 = (document.layers); var IE4 = (document.all); //vsem zname vlastnosti prohlizecu var n = 0; function findInPage(str){ var txt, i, found; if (str == "") return false; //pokud je parametr prazdny funkce se ukonci if (NS4){ if (!this.find(str)) while(this.find(str, false, true)) n++; else n++; if (n == 0) alert(str + " se nenachází na stránce."); } if (IE4){ txt = document.body.createTextRange(); //vytvoreni objektu TextRange for (i = 0; i <= n && (found = txt.findText(str)); i++) { txt.moveStart("character", 1); //zacatek range se posune o znak dopredu } 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 + " se nenachází na stránce."); } } return false } </script> <form name="search" action="" onSubmit="return findInPage(this.string.value);"> Najdi: <input type="text" size="20" name="string" onchange="n = 0;"> <input type="submit" value="HLEDEJ"> </form"> </form> <p>Cokoliv1</p> <p>Cokoliv2</p> </body> </html>
Datum vložení: 22.8.2001 9:54:03
Používám něco podobného - k vidění na <a href='http://www.help24.cz/help24.php' target='_blank'>http://www.help24.cz/help24.php</a> - označí se všechny hledané výrazy naráz a ještě vyskočí hláška kolik jich je v textu obsaženo ...
Datum vložení: 23.8.2001 12:23:35
Díval jsem se na Vámi udané místo, proklikal jsem se až ke čtení článku, uvedené však <B>nemohu najít</B>; pomozte ...
Datum vložení: 23.8.2001 21:34:32
Staci kliknout na udanou adresu ... a nebo skocit na <a href='http://www.help24.cz' target='_blank'>http://www.help24.cz</a> odkaz HELP24 - centra
Datum vložení: 27.8.2001 9:38:32
Přímý přístup jest <a href='http://www.help24.cz/help24.php' target='_blank'>http://www.help24.cz/help24.php</a> - už vím, proč jsem to neviděl. Jsou tam nějaké chyby skriptu, které můj Exploder 5.00 obalen NetCaptorem našel a já odpověděl "Nespouštět další skripty". To byla ta (moje) chyba. Když povolím pokračovat ve vykonávání skriptu (a potom ještě 2x), vyhledávací okénko se skutečně <B>objeví a funguje</B>!
Datum vložení: 19.9.2001 17:26:53
Nefunguje vam to, presmeruje mne to na
<a href='http://www.help24.cz/index_nn.html' target='_blank'>http://www.help24.cz/index_nn.html</a>
a skonci chybou.
Netscape 4.61
Awe.
CHYBA
ERROR
Požadovaný dokument nebyl nalezen...
Requested document not found...
Pokud si myslíte, že by dokument měl existovat,
napište prosím správci těchto stránek.
If you are certain this document should exist,
please contact admin of these pages.
Datum vložení: 4.9.2001 13:50:45
test
Datum vložení: 4.9.2001 13:51:03
test
Datum vložení: 4.9.2001 13:55:16
test
Datum vložení: 4.9.2001 22:28:14
To vyhledávání je opravdu super. Ale chtělo by to ještě dotáhnout do konce. Vyhledávání jsem s dovolením použil na našich stránkách, kde prezentujeme plná znění několika málo zákonů. Problém je ale v tom, že když v tak dlouhém textu (jak zákony bývají) hledám slovo, které tam je několikrát, posune se mi text třeba o dvě strany dolů a dál nemám jak jednoduše zadat další vyhledávání.
Uvažoval jsem o tom, že by šlo vyhledávání udělat jako plovoucí u dolního okraje stránky. Nebo dát možnost (jestli by to šlo) kliknutím na nalezený text (nebo stiskem klávesy) <B>pokračovat</B> dál v hledání.
Ufff
jinak díky
Datum vložení: 5.9.2001 10:01:00
<B>Michala</B> si dovoluji upozornit na příspěvek <I>22.08.01,09:54,Martin Hauge</I> do <I>této</I> diskuse, je tam odkaz na stránky s hromadným označení nalezených slov (žel? VBScriptem - asi by se dalo předělat i do JvScriptu).
Jak Michal správně podotýká, skutečně to může odskočit i dost daleko. Také jsem si toho všiml a hned mě napadlo řešení - rámce (<I>nevnucuji</I>). V horním úzkém frejmu mohou být nějaké poutací ikonky a také vyhledávací pole. Po stisku Enter v poli, <B>zůstává focus</B> v horním rámci a dolní se posune, jak je mu libo.
Datum vložení: 5.9.2001 10:14:26
Ano, ramce jsou reseni. Vzhledem k tomu, ze jiz tyden predelavam nas puvodni server, ktery se skladal ze tri ramcu na bezramcovy, jsem s touto variantou moc neuvazoval :-)))
Ale jinak by to bylo elegantni reseni, to mate pravdu ...
mejte se
Datum vložení: 22.3.2004 12:01:07
ako mam zapisat, aby sa pri viacnasobnom vyhladavani nemuselo vracat stale na button "hladaj", ale staci sa preklikavat stlacenim enteru? cize ak je hladane slovo v texte 10x, oznaci prve najdene slovo, potom staci stlacit enter, aby nasiel druhe atd.
Datum vložení: 22.11.2004 20:11:02
Dobrý den...také bych tento script chtěl použít na svých stránkách a myslím, že je hodně povedený! Ale mám malý problém...já totiž potřebuji vyhledat slovo ve více souborech! Mám ve více html souborech uloženy názvy filmů a při kliknutí na "hledej" potřebuji prohledat všechny tyto soubory! Myslíte, že by to nějak šlo??? Velice by se mi to hodilo! Případné odpovědi prosím pište na snakeee@centrum.cz. Děkuji předem a hodně zdaru... Jirka
Datum vložení: 27.5.2005 11:02:47
Určitě ne JavaScriptem, ale některou technologií na straně serveru, např. PHPkem.
Datum vložení: 7.6.2006 19:03:43
Chtěl bych se zeptat v [b]jakých[/b] prohlížečích je tento vyhledávač funkční? Byl bych rád kdyby alespoň v MSIE 6 a Mozille. Taky by mě zajímalo jestli by nešla odstranit ta Historie co tam zůstává po vyhledávání. Díky za odpověd ...