Avatar billede mgade Nybegynder
29. februar 2000 - 14:16 Der er 19 kommentarer og
1 løsning

clientside manipulering af tekststreng

Fra en komplet nybegynder i java (skræm mig ikke væk ;-):

Jeg sender en HTML side til brugerens browser. Den indeholder blandt meget andet de to strenge: "TWHer er den eneTW" og "TWHer er den andenTW".

(Tilgiv den latterlige delimiter "TW", den er tilfældigt valgt)

Guderne må vide hvad der kommer imellem de to strenge, men der kommer noget! (Fx. strenge der IKKE er relevante).

Kan man - og i givet fald hvordan - lave et script, der samler alle strenge med min delimiter og skriver dem et bestemt sted, fx i en bestemt frame?
Avatar billede kim_bille Nybegynder
29. februar 2000 - 15:40 #1
Hvis du altid starter og slutter med TW eller noget andet fast med 2 tegn, så

<script LANGUAGE="JavaScript">
var str1 = 'TWHer er den eneTW';
var str2 = 'TWHer er den andenTW';
var str3 = str1.substr(2,str1.length-4)+' '+str2.substr(2,str2.length-4);
document.write(str3);
</script>

i en anden frame:
parent.navnPåFrame.document.write(str3);

eller var det noget andte du ville ha'
Avatar billede mgade Nybegynder
01. marts 2000 - 08:23 #2
Det er tæt på, og tak for det, men det egentlige problem er at nappe strengene ud af en HTML-side. Tanken var at sende en lang HTML-tekst, men kun vise de strenge der var omsluttet af fx TW. Hvordan får jeg JavaScriptet til at tygge al "indgående" Html igennem og lægge indholdet i str1 og str2, for nu at følge dine variabelnavne??
Avatar billede kim_bille Nybegynder
01. marts 2000 - 19:09 #3
Disse TW-strenge står ikke noget bestemt sted?

Jeg kender ingen funk. til at gennemsøge et helt document

Hvad er det du vil lave, så kan vi måske anvende en anden teknik
Avatar billede mgade Nybegynder
01. marts 2000 - 19:14 #4
Fair snak. Det handler om at forbedre de utallige ASP-chatter der flyder rundt. Jeg kan ikke udstå at skulle vente hele 10 sekunder, så jeg regner med at kunne speede det op ved at serveren sender strenge ud, delimittet med fx session.sessionID. På den måde slipper jeg for at indskrænke udsendelsen af chat til hvert 10. sekund pga chat-tekstens størrelse. På klientsiden kan så jeg nøjes med at vise de relevante strenge.
Avatar billede kim_bille Nybegynder
01. marts 2000 - 19:48 #5
ok, jeg er bange for at jeg må stå af.
Jeg kan ikke komme på nogen måder, hvor på man kan gøre det du ønske, men det betyder ikke at det ikke kan lade sig gøre, der er mange der er meget bedre til JS end jeg, olebole fx. jeg skal prøve at får ham til at kigge (kikke) på det
Avatar billede olebole Juniormester
02. marts 2000 - 06:48 #6
<ole>
Prøv, om dette eksempel hjælper dig:

<html>
<head>
<script language="JavaScript"><!--

// Her er din HTML-streng
var myStr = "jlfghhjglshTWabcdTWkpfgihifihjixfghigbhxTWefghTWhugiugfusgsgzyfdgdgyvliysdgfTWijklTWjkfgjdfjdhgf";

// Du laver et array, der kommer til at indeholde dine variabler
myWords = new Array();

// --  Finder et ord i en streng  -- //
function findWord(str,sep) {
    for (i=0; i<str.length; i++) {
        if (str.length > 0 && str.indexOf(sep) != -1) {
            word = str.substring(str.indexOf(sep)+2,str.indexOf(sep,str.indexOf(sep)+2));
            str = str.substring(str.indexOf(sep,str.indexOf(sep)+2)+2,str.length);
            myWords[i] = word;
        }
    }
// Her alert'er du kun for demo'ens skyld
// Du vil kunne trække en variabel ud af array'et med:
// minVariabel1 = myWords[0];
// minVariabel2 = myWords[1];
// osv.
    alert(myWords);
}

// -->
</script>
</head>

<body onload=findWord(myStr,'TW');>
</body>

</html>

Kaldet er lagt på 'onload', men det ændrer du bare til, hvad der måtte passe dig.

Jeg vil gerne hjælpe videre, men det må nok blive mandag, da min yngste datter på 7 skal være TigerDyr på søndag. Kan man købe sådan et kostyme...NEEEEJ...!!!
Hvis I tror JavaScript er svært, så prøv lige at lave en 'pels' beklædt gips-TigerDyrs-maske + sy kostymet! Godt jeg arbejdede 20 år som teatertekniker, før jeg skiftede til det her...LOL!
/VH
</bole>
Avatar billede olebole Juniormester
02. marts 2000 - 06:52 #7
Ups...: 'Fra en komplet nybegynder i java (skræm mig ikke væk ;-)'
Jeg tror godt, Kim kan hjælpe dig med at få lortet ud af array'et, hvis det volder problemer - ellers er der andre, der kan.

}else{på mandag}
Avatar billede kim_bille Nybegynder
02. marts 2000 - 13:07 #8
ok, forstå du det ovenstående eller skal jeg forklare det i detaljer :) ?

Jeg ved ingen ting om ASP, hvordan får du sendt strengen (myStr) sendt til klienten
Avatar billede mgade Nybegynder
02. marts 2000 - 16:15 #9
Tanx so far. Det ser fornuftigt ud! Jeg har været ude af røret hele dagen, og skal til begravelse i morgen (ville klart foretrække tigerdyret!) Såee.. Men jeg glæder mig til at teste det af! Vender snarest tilbage!
Avatar billede mgade Nybegynder
07. april 2000 - 13:19 #10
Der gik vist liiiige lidt tid ...

Jeg synes jeg er nødt til at tage spørgsmålet ned, selv om jeg ikke rigtig har løst problemet. Jeg HAR imidlertid øvet mig lidt på Javascript / ASP kombinationen, og jeg tror der er en løsning, måske er det oven i købet oleboles der kan funke.

Så vidt jeg kan se er der et problem i, at ASP-koden sender en komplet side til brugeren hver gang der er nyt i chatten, men jeg vil kun opdatere tekstruden. Jeg er ved at tro at min oprindelige ide om at lade javscriptet "sluge" hele siden (fra 2. gang den sendes og til siden forlades) er umulig.

Det er kanske muligt i stedet at få javascriptet til at hente data på serveren i stedet? Efter princippet:

1 hent hele siden (url'en)
2 hent chat.txt på serveren og manipuler den så kun relevnt chat vises (med oleboles funktion eller lignende)
3 gentag 2. punkt indtil url'en forlades
Avatar billede olebole Juniormester
07. april 2000 - 14:00 #11
ÅRRrrhhh, lad vær'!...Ikke engang en måned! ;-)

Det eneste serverside, jeg laver er php - og der er jeg langt fra haj endnu. Så jeg er bange for, det er ASP-drengene i en anden kategori, du skal have fat i. JavaScript er jeg dog altid frisk på at give en hånd med.

Håber, du får det løst - og håber, du er kommet dig over det andet. Jeg forstår UDMÆRKET, du havde foretrukket Tigerdyret...hun blev GODT nok også sød! ;-)

/VH
Avatar billede mgade Nybegynder
07. april 2000 - 14:05 #12
He he, jeg ved ikke engang hvad php er for nåed *s*

(Forklar det endelig IKKE!! Jeg har gang i nok!! ;-)

Ideen med ASP-afdelingen er interessant! Det er der jeg plejer at kigge med! Jeg vil lige overveje det, men jeg har aldrig set noget der om clientside programmering. (Og tak, jeg er kommet mig!)
Avatar billede olebole Juniormester
07. april 2000 - 14:29 #13
Asp kan du ikke lave noget clientside med, men det kan være, en eller flere derovre har opfundet det samme hjul allerede (?)
Det var da værd at prøve.
Avatar billede mgade Nybegynder
07. april 2000 - 14:39 #14
http://www.eksperten.dk/spm.asp?id=14778

Gjort. Tak for udvist deltagelse!
Avatar billede olebole Juniormester
07. april 2000 - 14:56 #15
Anytime ;-)
Avatar billede olebole Juniormester
07. april 2000 - 15:08 #16
Hvis du kan dele asp-scriptet over i to - en læse- og en skrivedel, kan du bruge et frameset med f.eks. 'rows=50%,50%,*'. I den øverste har du så et lag, du kan skrive ind i. I den midterste loader du din skrivedel. I den nedeste lægger du læsedelen.
Fra den nedeste (usynlige) frame kan du så skrive dine tekststrenge dynamisk og 'flydende' ind i laget foroven. Det gør, dine opdateringer IKKE ligner opdateringer. Teksten bliver bare skrevet efterhånden...MEGET flottere.
Hvis du finder ud af at lægge dine scripts på denne måde, må du godt maile mig, så skal jeg sende dig et par scripts ;-)
oc@adr.dk
Avatar billede mgade Nybegynder
07. april 2000 - 15:13 #17
HEY! Der ringer en lille klokke der! Det har jeg set noget om i en eller anden tutorial! Det vil jeg prøve i løbet af weekenden (Hvis ikke "kranen" kræver, at jeg er social he he).

Det tror jeg er løsningen! Serverside kan jeg nemlig sagtens reducere den udsendte chat til "nul og en sk*d"!
Avatar billede olebole Juniormester
07. april 2000 - 15:28 #18
Gi' hende et nøgle ståluld, så kan hun hækle en ny HD imens..Hehe :-))

Jeg skal på weekend med Tigerdyret (...og moderdyret) hos farfar, men mandag kører det igen, såhhh...!  ;-)
Avatar billede olebole Juniormester
08. april 2000 - 03:01 #19
Hvis du anvender onvenstående teknik, så prøv følgende:
Når du modtager den første streng fra serveren, banker du strengen ind i en variabel i dit 'læsevindue' (her ligger den trygt og godt - uden at blive slettet ved opdatering). Så skriver du variablen ind i laget.
Næste streng, du modtager, smider du ind i samme variabel FORAN den første og skriver variablen ud, osv.
Derved får du hele tiden sidste besked skrevet foroven og behøver ikke at scrolle. Hvorfor man ikke ALTID gør det i chats?...Beats me...!?! ;-)
Du kan selvfølgelig også lave dette serverside...det må være genstand for et valg.
Sørg for aldrig at have for mange beskedder stående. Det belaster at skrive lange strenge dynamisk.
Avatar billede mgade Nybegynder
08. april 2000 - 10:08 #20
Yeah, lyder rimeligt. Jeg havde en ide om kun at skrive en streng. Resten måtte så "rykke" på en eller anden måde. Fx. i et "layer"? Her er jeg på rigtig tynd is! Nevermind, det løser sig, men jeg er meget interesseret i de scripts, hvis du hr noget derhenad! Sender en mail.

Skal i øvrigt have prøvet "Vis Kilde" på Jubii-chatten mfl!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester