Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

Zoekfunctie

13 antwoorden
  • Hallo Allemaal, Ik ben op zoek naar een zoekfunctie voor mijn website, ik heb al gezocht op internet in hotscripts.com en op het forum. Een zoekfunctie inbouwen via Google met resultaten van alleen je website heb ik al, maar die geeft dus aan op welke pagina je het gezochte woord kan vinden. Ik wil het eigenlijk anders, ik wil op de pagina zelf kunnen zoeken en dat er dat versprongen wordt naar dat woord. Eigenlijk zoals je dat in IE kan doen als je op Ctrl+F drukt maar dan het zoekschermpje met zoekknop op je pagina. Dus een zoekfunctie op de pagina waar je bent.
  • Heb het volgende al eens gebruikt; doet wat je vraagt. In form zoekterm invullen en op knop klikken of ALT+S toetsencombinatie gebruiken. Zoekopdracht herhalen met ALT+S. [code:1:adef46428e] <! --begin tekst zoekfunctie op pagina--> /****************************************** * Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com) * Visit Dynamic Drive (http://www.dynamicdrive.com/) for full source code * This notice must stay intact for use ******************************************/ var TRange = null; var dupeRange = null; var TestRange = null; var win = null; var nom = navigator.appName.toLowerCase(); var agt = navigator.userAgent.toLowerCase(); var is_major = parseInt(navigator.appVersion); var is_minor = parseFloat(navigator.appVersion); var is_ie = (agt.indexOf("msie") != -1); var is_ie4up = (is_ie && (is_major >= 4)); var is_not_moz = (agt.indexOf('netscape')!=-1) var is_nav = (nom.indexOf('netscape')!=-1); var is_nav4 = (is_nav && (is_major == 4)); var is_mac = (agt.indexOf("mac")!=-1); var is_gecko = (agt.indexOf('gecko') != -1); var is_opera = (agt.indexOf("opera") != -1); var is_rev=0 if (is_gecko) { temp = agt.split("rv:") is_rev = parseFloat(temp[1]) } var frametosearch = self; function search(whichform, whichframe) { if (is_ie4up && is_mac) return; if (is_gecko && (is_rev <1)) return; if (is_opera) return; if(whichform.findthis.value!=null && whichform.findthis.value!='') { str = whichform.findthis.value; win = whichframe; var frameval=false; if(win!=self) { frameval=true; win = parent.frames[whichframe]; } } else return; var strFound; if(is_nav4 && (is_minor < 5)) { strFound=win.find(str); } if (is_gecko && (is_rev >= 1)) { if(frameval!=false) win.focus(); strFound=win.find(str, false, false, true, false, frameval, false); if (is_not_moz) whichform.findthis.focus(); } if (is_ie4up) { if (TRange!=null) { TestRange=win.document.body.createTextRange(); if (dupeRange.inRange(TestRange)) { TRange.collapse(false); strFound=TRange.findText(str); if (strFound) { win.document.body.scrollTop = win.document.body.scrollTop + TRange.offsetTop; TRange.select(); } } else { TRange=win.document.body.createTextRange(); TRange.collapse(false); strFound=TRange.findText(str); if (strFound) { win.document.body.scrollTop = TRange.offsetTop; TRange.select(); } } } if (TRange==null || strFound==0) { TRange=win.document.body.createTextRange(); dupeRange = TRange.duplicate(); strFound=TRange.findText(str); if (strFound) { win.document.body.scrollTop = TRange.offsetTop; TRange.select(); } } } if (!strFound) alert ("'"+str+"' niet gevonden!") } </script> <form name="form1" onSubmit="search(document.form1, frametosearch); return false" action=""><input type="text" name="findthis" size="15" title="Druk op 'ALT+S' om de zoekopdracht op deze pagina te herhalen."> <input type="submit" value="Zoek (ALT+S)" ACCESSKEY="s"></form> <! --einde tekst zoekfunctie op pagina-->[/code:1:adef46428e]
  • [quote:e35ce2a1d1="Moos"]Hallo Allemaal, Ik ben op zoek naar een zoekfunctie voor mijn website, ik heb al gezocht op internet in hotscripts.com en op het forum. Een zoekfunctie inbouwen via Google met resultaten van alleen je website heb ik al, maar die geeft dus aan op welke pagina je het gezochte woord kan vinden. Ik wil het eigenlijk anders, ik wil op de pagina zelf kunnen zoeken en dat er dat versprongen wordt naar dat woord. Eigenlijk zoals je dat in IE kan doen als je op Ctrl+F drukt maar dan het zoekschermpje met zoekknop op je pagina. Dus een zoekfunctie op de pagina waar je bent.[/quote:e35ce2a1d1] zoals je zelf al zegt, elke browser heeft die functie toch al ingebouwd? Vind t n mooi script maar nogal zinloos.
  • Hoi Decomp, Hartstikke bedankt, ik ga het uitproberen en dan laat ik het nog weten. Marientje, Elke browser heeft dat maar een heleboel mensen kennen het niet, dus extra en niet zinloos.
  • Hoi Decomp, het werkt! Ik moest er wel eerst <script> voor zetten maar dat was zeker om me te testen :wink: Doet precies wat ik wil, geweldig, bedankt! Moos
  • Dat de zoekfunctie al in de browsers zit ingebakken is ook bij de reden dat ik dit scriptje niet meer gebruik. De browser zoekfunctie heeft ook als voordeel dat je een paar parameters kan instellen, zoals zoekrichting bv. Nadeel (voor mensen die er niet mee vertrouwd zijn) is dan weer dat het zoekresultaat soms áchter het dialoogvenstertje van de zoekfunctie kan zitten en daardoor niet meteen zichtbaar. Dat heb je met het scriptje niet. Is verder wel een basisfunctie, maar vraag me wel af in hoeverre iedereen ermee bekend is dat je kan zoeken met CTR+F of CMD+F op een MAC. In mijn omgeving waren alvast een paar personen onwetend. Als je besluit om de browser zoekfunctie het werk te laten doen, is het misschien verstandig het bestaan ervan te vermelden op je website.
  • Ja ik kan natuurlijk ook gewoon op de site erbij zetten dat ze op die pagina kunnen zoeken met Ctrl+F Het jammere daarvan is dat, zoals jij ook al zei, het resultaat soms achter het zoekvenstertje zit. En ik vind het gewoon leuk om te weten dat dit op deze manier dus ook kan.
  • Deze topic heeft mij aan het denken gezet. In een 1ste stap kunnen bezoekers met een zoekmachine voor je site de pagina('s) vinden waar ge gezochte zoekterm te vinden is. In een 2de stap zijn bezoekers dan verplicht om op deze pagina te zoeken naar de gezochte term; iets wat dus gemakkelijker gedaan kan worden met behulp van "Find" (CTRL+F). Waarom moet je nog een 2de stap zetten en op zoek gaan? Omdat de gezochte term niet in de verf wordt gezet door "highlighting" of "bolding". Een google excursie overtuigd mij dat het mogelijk is om met javascript bijvoorbeeld , komende vanuit de resultatenpagina van de zoekmachine, de gezochte term op de pagina automatisch te "highlighten" door de zoekterm op te vangen van de document refferer. (In de stijl van de gecachte pagina's bij google). Ben nu aan het klooien om zoiets aan de praat te krijgen voor Freefind, de zoekmachine op mijn site. Is weer makkelijker gezegd dan gedaan; valt wat tegen. :cry:
  • Decomp, ik heb een afkortingen pagina met ongeveer 2200 afkortingen uit de computer wereld, gemaakt omdat ik me zelf vaak afvraag waar een bepaalden afkorting nou voor staat. Als iemand op deze pagina komt hoeft hij dus niet moeilijk te scrollen maar tikt de afkorting in en kijkt of het er bij staat waarbij zoekresultaten niet achter het zoekvenstertje verdwijnen. Ik gebruik deze dus alleen op die afkortingen pagina.
  • 2200 afkortingen! Djeezes, neen, daar zou ik ook niet door willen scrollen. :D Heb je vast een hoop tijd ingestoken. Respect, man!
  • Nou die 2200 heb ik natuurlijk niet allemaal zelf verzonnen, met behulp van internet kom je een heel eind. Maar als ik deze zoekfunctie gebruik in FF kan ik 1 keer zoeken, reageert niet op ALT + S. Is daar wat aan te doen?
  • Hallo, bedankt voor de code! Heb je toevallig ook een code die ik kan toevoegen om de button en het tekstvakje een andere kleur te geven? Alvast bedankt, f.b
  • css is je vriend. Beetje zelf zoeken misschien?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.