/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Klientbaseret fritekstsøgning muligt ?
Fra : Oleifo


Dato : 06-07-04 17:09

Det virker sørme ...
-og mange, mange tak for det

Kan du også sætte mig på sporet af, hvordan jeg får den til at finde næste
"samme" ord.

Med venlig hilsen
Leif B.


Fra: "*XxX*" <fatman00hot@hotmail.com>
Emne: Re: Klientbaseret fritekstsøgning muligt ?
Dato: 4. juli 2004 17:40


"Oleifo" <lebl@post2.tele.dk> skrev i en meddelelse
news:40e683fb$0$161$edfadb0f@dread11.news.tele.dk...
> Hej gruppe
> Jeg er ved at lave et site med en kolosal masse tekst (haandbog).
> Er det muligt med noget script at lave fritekstsøgning i denne tekst.
> Klientbaseret, fordi det også gerne skulle kunne bruges på en CD.
>
> Hvis ja, da gerne en henvisning til noget kode

Har lige lavet noget der viser principet så kan du selv viderudvikle det.

<HTML>
<BODY onclick="test()">
Denne tekst er noget der bare skal fylde så der er ikke sat nogle tegn i og
det kan godt gøre det hele lidt uoverskueligt, men prøv at klikke med musen
så kan du se hvad der sker.<br><br>Den finder dog kun det første ord.
</BODY>
</HTML>

<SCRIPT>
function test() {
var r = document.body.createTextRange();
if(r.findText('te')) {
r.findText('te');
r.expand("word");
r.select();
}
}
</SCRIPT>


>
> Med venlig hilsen
> Leif B.
>
>




 
 
Johan Holst Nielsen (06-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-07-04 18:19

Oleifo wrote:

> Det virker sørme ...
> -og mange, mange tak for det
>
> Kan du også sætte mig på sporet af, hvordan jeg får den til at finde næste
> "samme" ord.

Prøv evt.:
http://www.javascripter.net/faq/searchin.htm

mvh
johan

Oleifo (07-07-2004)
Kommentar
Fra : Oleifo


Dato : 07-07-04 08:51

Mange tak igen ...
Det virker "skisme" også. Nu mangler jeg bare at kunne lade den søge i et
andet frame end det hvor "submitten" er anbragt.
Jeg ved godt, at browserens søgefunktion kan bruges og virker fint - men det
andet var nu smartere
Med venlig hilsen
Leif B.

"Johan Holst Nielsen" <phpgeek@gmail.com> skrev i en meddelelse
news:ccemuv$1ljt$1@news.cybercity.dk...
> Oleifo wrote:
>
> > Det virker sørme ...
> > -og mange, mange tak for det
> >
> > Kan du også sætte mig på sporet af, hvordan jeg får den til at finde
næste
> > "samme" ord.
>
> Prøv evt.:
> http://www.javascripter.net/faq/searchin.htm
>
> mvh
> johan



*XxX* (07-07-2004)
Kommentar
Fra : *XxX*


Dato : 07-07-04 12:38

Jeg mener du kan bruge document.frames['framenavn'].body.create.....

så længe det er på den samme server


"Oleifo" <lebl@post2.tele.dk> skrev i en meddelelse
news:40ebab67$0$147$edfadb0f@dread11.news.tele.dk...
> Mange tak igen ...
> Det virker "skisme" også. Nu mangler jeg bare at kunne lade den søge i et
> andet frame end det hvor "submitten" er anbragt.
> Jeg ved godt, at browserens søgefunktion kan bruges og virker fint - men
det
> andet var nu smartere
> Med venlig hilsen
> Leif B.
>
> "Johan Holst Nielsen" <phpgeek@gmail.com> skrev i en meddelelse
> news:ccemuv$1ljt$1@news.cybercity.dk...
> > Oleifo wrote:
> >
> > > Det virker sørme ...
> > > -og mange, mange tak for det
> > >
> > > Kan du også sætte mig på sporet af, hvordan jeg får den til at finde
> næste
> > > "samme" ord.
> >
> > Prøv evt.:
> > http://www.javascripter.net/faq/searchin.htm
> >
> > mvh
> > johan
>
>



Johan Holst Nielsen (07-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 07-07-04 14:18

*XxX* wrote:
> Jeg mener du kan bruge document.frames['framenavn'].body.create.....
>
> så længe det er på den samme server

Det nemmeste ville måske være, at lade søgescriptet ligge i den frame
hvor i der skal søges - og kalde scriptet fra framen hvor søgeboksen
ligger...

mvh
Johan


Oleifo (07-07-2004)
Kommentar
Fra : Oleifo


Dato : 07-07-04 17:25

Kære ukendte venner

Nu gik det ellers lige så godt, men følgende bliver ikke accepteret:

// EXPLORER-SPECIFIC CODE

if (TRange!=null) {
TRange.collapse(false)
strFound=TRange.findText(str)
if (strFound) TRange.select()
}
if (TRange==null || strFound==0) {
TRange=self.document.frames['tekst.htm'].body.createTextRange()
strFound=TRange.findText(str)
if (strFound) TRange.select()
}
}
if (!strFound) alert ("String '"+str+"' not found!")
}
//-->

Kan eksperterne mon se nogen fejl her ?
Framen har name=tekst og der er naturligvis også prøvet med:
frames[tekst].body ....

Jeg har ikke prøvet Johans forslag. Jeg kan ikke finde noget i mine bøger
(hæfter) om kald til andre frames.

Min kode her er:

<form name="f1" action=""
onSubmit="if(this.t1.value!=null && this.t1.value!='')
findString(this.t1.value);return false"
>
<input type="text" name=t1 value="text" size=20>
<input type="submit" name=b1 value="Find">
</form>

Og det virker fortrinligt, når bare det er i samme frame, men da teksten er
ret omfattende forsvinder FIND knappen, når det er nødvendigt at scrolle.
Derfor ønsket om at have den i en topframe.

Tør jeg håbe på hjælp endnu en gang ? Jeg føler nemlig, jeg er tæt på målet

Med venlig hilsen
Leif B.





"Johan Holst Nielsen" <phpgeek@gmail.com> skrev i en meddelelse
news:40ebf8d4$0$239$edfadb0f@dread14.news.tele.dk...
> *XxX* wrote:
> > Jeg mener du kan bruge document.frames['framenavn'].body.create.....
> >
> > så længe det er på den samme server
>
> Det nemmeste ville måske være, at lade søgescriptet ligge i den frame
> hvor i der skal søges - og kalde scriptet fra framen hvor søgeboksen
> ligger...
>
> mvh
> Johan
>



Johan Holst Nielsen (07-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 07-07-04 20:03

Oleifo wrote:

> Kære ukendte venner
>
> Nu gik det ellers lige så godt, men følgende bliver ikke accepteret:
>
> // EXPLORER-SPECIFIC CODE
>
> if (TRange!=null) {
> TRange.collapse(false)
> strFound=TRange.findText(str)
> if (strFound) TRange.select()
> }
> if (TRange==null || strFound==0) {
> TRange=self.document.frames['tekst.htm'].body.createTextRange()

Du skal bruge NAVN på framen og ikke SRC :)
Du bør (op din frame side) have et name="tekst" f.eks.

Så skal linie se noget ala sådan her ud:
top.document.frames['tekst'].body.createTextRange()

mvh
Johan

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste