/ 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
Simpel replace i querystring
Fra : Rune Jensen


Dato : 25-12-09 14:28

http://www.webdesigngruppen.dk/galleri/thebigpicture.asp?medlem=rune+jensen&year=2009&layout=galleri&edit=1&id=0

Man kan navigere thumbnailsne med cursor frem/tilbage, script tyvstjålet
fra stig.

Der testes ikke for, om der er en #, så hvis man klikker på "til top"
(smileyen), derefter forsøger at navigere med taster, så giver den en
fejlmelding, NaN.

Da det altid er den samme ID, som henvises til (top), kan man vel lave
en replace i querystring via javascript.

Altså noget a la

querystring=replace( querystring, "#top","")

Hvordan gøres dette i JS?


BTW: God jul til alle i gruppen


MVH
Rune jensen

 
 
Stig Johansen (25-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 25-12-09 16:24

"Rune Jensen" <runeofdenmark@gmail.com> wrote in message
news:4b34bdd2$0$4809$456a7185@news.cirque.dk...
>
http://www.webdesigngruppen.dk/galleri/thebigpicture.asp?medlem=rune+jensen&
year=2009&layout=galleri&edit=1&id=0
>
> Man kan navigere thumbnailsne med cursor frem/tilbage, script tyvstjålet
> fra stig.

Med cursor mener du piletasterne ?

Bortset fra det, så er det ikke den rigtige version af 'addevent', du har.
På et tidspunkt smuttede attachevent (IE's model) ud af min kode.

Jeg har skilt den ud som en stamfunktion i:
http://w-o-p-r.dk/javascript/wopr.js

og du kan lure hvordan den bliver brugt til onload, key m.m. i
http://w-o-p-r.dk/tips/time.picker.asp

(Den er ikke helt unobtrusive, for det er kun en testside).

Så hvis jeg skal stå som 'fadder', ser jeg gerne du retter det :)

> Der testes ikke for, om der er en #, så hvis man klikker på "til top"
> (smileyen), derefter forsøger at navigere med taster, så giver den en
> fejlmelding, NaN.

Nej, for det er lidt Q&D.

> Da det altid er den samme ID, som henvises til (top), kan man vel lave
> en replace i querystring via javascript.

Jeg tror heller jeg vil foreslå dig at fjerne alt efter #, i stedet for at
teste på #top.

Vi udtrækker i forvejen 'id=' og fremefter.
Prøv at rette:
billedenummer = Math.round(thislocation.substring(i+3,i+7));

til
billedenummer = thislocation.substring(i+3);
if (billedenummer.indexOf('#') > -1 )
billedenummer=billedenummer.substring(0,billedenummer.indexOf('#'))
billedenummer = Math.round(billedenummer) ;Sidste linie er for at
gennemtvinge en type konvertering til tal, men kan muligvis også laves
som:billedenummer = billedenummer -0 ;
--
Med venlig hilsen/Best regards
Stig Johansen




Rune Jensen (25-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 25-12-09 23:24

Stig Johansen skrev:

> Med cursor mener du piletasterne ?

Ja, lige netop - cursortasterne ;)

<SNIP: links/koder>
> Så hvis jeg skal stå som 'fadder', ser jeg gerne du retter det :)

Naturligvis. Det kigger jeg lige på, og retter.

>> Der testes ikke for, om der er en #, så hvis man klikker på "til top"
>> (smileyen), derefter forsøger at navigere med taster, så giver den en
>> fejlmelding, NaN.
>
> Nej, for det er lidt Q&D.

Jeg er ikke helt sikker på, hvad Q&D betyder*), men det var ikke ment
som kritik, da jeg godt ved, det ikke var kodet til at tage hensyn til det

>> Da det altid er den samme ID, som henvises til (top), kan man vel lave
>> en replace i querystring via javascript.
>
> Jeg tror heller jeg vil foreslå dig at fjerne alt efter #, i stedet for at
> teste på #top.
>
> Vi udtrækker i forvejen 'id=' og fremefter.
> Prøv at rette:
> billedenummer = Math.round(thislocation.substring(i+3,i+7));
>
> til
> billedenummer = thislocation.substring(i+3);
> if (billedenummer.indexOf('#') > -1 )
> billedenummer=billedenummer.substring(0,billedenummer.indexOf('#'))
> billedenummer = Math.round(billedenummer) ;Sidste linie er for at
> gennemtvinge en type konvertering til tal, men kan muligvis også laves
> som:billedenummer = billedenummer -0 ;

Jeg kan nok få det til at virke udfra din kode, men hvis jeg skal forstå
den, kunne det være rart med en lille supplerende forklaring.
Grundlæggende tror jeg et af mine problemer ligger i forståelsen af
bl.a. substring og math. Og vel egentlig også indexof. Jeg lærer det, og
glemmer det så igen. Kan man tage nogle ASP-koder, som ligner til en
forklaring?

Mange tak for svar.

MVH
Rune Jensen


*) Er det en forkortelse, som bruges generelt, skal jeg have den med på
"Hvad betyder..." siden

Stig Johansen (25-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 25-12-09 23:50

Rune Jensen wrote:

> Stig Johansen skrev:
>
>> Nej, for det er lidt Q&D.
>
> Jeg er ikke helt sikker på, hvad Q&D betyder*), men det var ikke ment
> som kritik, da jeg godt ved, det ikke var kodet til at tage hensyn til det

Quick and Dirty :)

> Jeg kan nok få det til at virke udfra din kode, men hvis jeg skal forstå
> den, kunne det være rart med en lille supplerende forklaring.
> Grundlæggende tror jeg et af mine problemer ligger i forståelsen af
> bl.a. substring og math. Og vel egentlig også indexof. Jeg lærer det, og
> glemmer det så igen. Kan man tage nogle ASP-koder, som ligner til en
> forklaring?

Du kan nogenlunde sammenligne med:
indexOf() ~ instr()
substring() ~ mid()

Parametrene er nok lidt anderledes, og hold øje med hvor noget starter med 0
og hvornår det er 1.
I JS er første position i en streng = 0, og ikke 1.

Math er et slags bibliotek hvor funktionerne ligger under, så der er ikke
eks. en funktion der hedder round, så derfor skal man angive
Math.<funktion>

Problemstillingen er det her automatiske typekonvertering, som er både godt
og skidt.
I ASP bruger jeg altis + for at undgå fejl, men i JS laver + konvertering.

Så i visse tilfælde ved man ikke rigtig om man får
'1'+1 = '11'
eller
1+1=2

Derfor skal 'substring' tvinges over til et tal.

--
Med venlig hilsen
Stig Johansen

Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 22:21

Stig Johansen skrev:
> Rune Jensen wrote:
>
>> Stig Johansen skrev:
>>
>>> Nej, for det er lidt Q&D.
>> Jeg er ikke helt sikker på, hvad Q&D betyder*), men det var ikke ment
>> som kritik, da jeg godt ved, det ikke var kodet til at tage hensyn til det
>
> Quick and Dirty :)

Ja, selvfølgelig ;)

<SNIP>
> Du kan nogenlunde sammenligne med:
> indexOf() ~ instr()
> substring() ~ mid()
>
> Parametrene er nok lidt anderledes, og hold øje med hvor noget starter med 0
> og hvornår det er 1.
> I JS er første position i en streng = 0, og ikke 1.
>
> Math er et slags bibliotek hvor funktionerne ligger under, så der er ikke
> eks. en funktion der hedder round, så derfor skal man angive
> Math.<funktion>

Alt dette har jeg fået til at virke, og jeg forstår det så nogenlunde
udfra din forklaring. Endelig test kommer naturligvis, når jeg selv skal
lave et sådant script fra scratch, det bliver... interessant (det vil
jeg afprøve på diskussionssiden, for der er samme problem).

<SNIP: Typekonvertering>

Ikke svar på dette, men et andet problem. Jeg kan ikke få eventhandleren
attached korrekt. Hugger jeg din eventhandler, og overfører parametrene,
virker det i IE8, men ikke i FF.

Jeg har kigget på din side hvor du attacher eventhandlerne, men her
virker det, kan bare ikke overføre det til egen side.

Den "gamle" eventhandler virker tilsyneladende korrekt i alle større
browsere...

Grundlæggende kan jeg ikke forstå hvorfor, for begge eventhandlere
fungerer vel nogenlunde ens - tager samme parametre...?



MVH
Rune Jensen

Stig Johansen (26-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 26-12-09 23:16

"Rune Jensen" <runeofdenmark@gmail.com> wrote in message
news:4b367e4a$0$4809$456a7185@news.cirque.dk...
>
> Den "gamle" eventhandler virker tilsyneladende korrekt i alle større
> browsere...

Ja, men den er ikke komplet.
Man kan godt skrive eks.:
document.onkeydown = checkArrowKey
Men det betyder, at man _erstatter_ eventhandleren, men virker i mange
browsere.
Det ligger næsten i ordet _Add_eventlistener, at man tilføjer en event i en
kæde, så man kan have flere handlere på samme event.
Her kommer det sædvanlige, at IE køre med en anden 'model', hvor det hedder
Attachevent.
Hvis ingen af disse 2 er understøttet, benyttes den direkte metode.
> Grundlæggende kan jeg ikke forstå hvorfor, for begge eventhandlere >
fungerer vel nogenlunde ens - tager samme parametre...?
Bortset fra det med attachevent, så er de grundlæggende ens, men du har ikke
kigget (god nok) på parametrene.
.....
eventobject,eventtype,eventfunction
.....
Dvs. load eventen skal angives som
addEvents(window,'load',initiate_pile);og den kan du flytte over i den
eksterne JS fil.Under initiate_pile, skriver du i
stedet:addEvents(document,'keydown',checkArrowKey)
Og fjerner de andre if'er m.m.
--
Med venlig hilsen/Best regards
Stig Johansen




Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 23:25

Stig Johansen skrev:

> Bortset fra det med attachevent, så er de grundlæggende ens, men du har ikke
> kigget (god nok) på parametrene.
> ....
> eventobject,eventtype,eventfunction
> ....
> Dvs. load eventen skal angives som
> addEvents(window,'load',initiate_pile);og den kan du flytte over i den
> eksterne JS fil.

Mente nok, man kunne optimere lidt, men kom aldrig så langt

> Under initiate_pile, skriver du i
> stedet:addEvents(document,'keydown',checkArrowKey)
> Og fjerner de andre if'er m.m.

Bortset fra det med at flytte window.onload over i ekstern fil, synes
jeg også, det var sådan, jeg gjorde. Jeg har nok bare været trat.

Anyways, jeg prøver bare igen...

....BTW: den der eventhandler, den kan jeg vel plugge på andre steder,
hvor jeg bruger events? Altså andre sider også? Jeg mener nok mere, om
den er generel. For så burde man måske have den i en ekstern fil for
sig. Men det varer lige lidt, før jeg kan teste det. Men på
diskussionssiden har jeg f.eks. en event på hver indlæg, det er vel ikke
helt nødvendigt.

I'll be back.


MVH
Rune Jensen

Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 23:51

Rune Jensen skrev:

> Bortset fra det med at flytte window.onload over i ekstern fil, synes
> jeg også, det var sådan, jeg gjorde. Jeg har nok bare været trat.

Ja.. det var jeg nok, for det var ikke sådan jeg gorde - du havde ret.

> Anyways, jeg prøver bare igen...

Og det virker nu. Mange tak, Stig.


MVH
Rune Jensen

Rune Jensen (27-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 27-12-09 00:08

Rune Jensen skrev:

> Og det virker nu. Mange tak, Stig.

Og jeg bør måske lige tilføje, at Webkit har et eller andet mantra med
inline eventattachment.

Safari påstod ikke at kunne finde variablen addEvents (det er så en
function, ikke en variabel). Så rykkede jeg den over i ekstern fil,
nøjagtigt den samme linje uden at ændre noget - og det virkede fint???

Det er noget, jeg hat oplevet før, og både Chrome og Safari brokker sig
over det samme, mens andre browsere ikke gør. Måske skal man bare altid
lægge det eksternt, så slipper man for problemet.

Det kan også være fordi, at webkit loader scriptsne parallelt, så
functionen ikke er klar på det tidspunkt, den bliver kaldt, når kaldet
er inline. Måske?


MVH
Rune Jensen

Stig Johansen (27-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 27-12-09 02:01

Rune Jensen wrote:

> Bortset fra det med at flytte window.onload over i ekstern fil, synes
> jeg også, det var sådan, jeg gjorde. Jeg har nok bare været trat.

Nu har du fundet ud af det, men _parametrene_ var forkerte.

> ...BTW: den der eventhandler, den kan jeg vel plugge på andre steder,
> hvor jeg bruger events?

I mit første svar til dig skrev jeg, at jeg havde lagt det som en
'stamfunktion' i wopr.js.

Det skal forstås sådan, at mine funktioner i wopr.js bruger jeg alle mulige
steder, da de er generelle.

> Men på
> diskussionssiden har jeg f.eks. en event på hver indlæg, det er vel ikke
> helt nødvendigt.

Hvilken diskussionsside ?

Der kan meget vel være behov for at lægge events på enkelte elementer, men
det afhænger hvad du mener, og vil opnå.

Som altid ville et link være godt.

--
Med venlig hilsen
Stig Johansen

Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 01:43

Stig Johansen skrev:

> Jeg har skilt den ud som en stamfunktion i:
> http://w-o-p-r.dk/javascript/wopr.js

Jeg er så småt i gang, men timerne er små, og jeg kan godt mærke det går
langsomt, så noget af det blir i morgen, tror jeg.

> og du kan lure hvordan den bliver brugt til onload, key m.m. i
> http://w-o-p-r.dk/tips/time.picker.asp

Det må jeg sguda sige, den er fancy, nærmest web2.0 ;)

Du burde næsten have en blå gradient også til baggrunden så. Eller en
matchende baggrund.

Man kunne nok udvide den funktion også, så den kan bruges til andet end tid.


MVH
Rune Jensen

Stig Johansen (26-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 26-12-09 01:52

Rune Jensen wrote:

> Stig Johansen skrev:
>
> Det må jeg sguda sige, den er fancy, nærmest web2.0 ;)

He - det er nu mere lavet for at kunne vælge dato/tid på en nem måde, ikke
for at den skal være 'fancy'.

> Du burde næsten have en blå gradient også til baggrunden så. Eller en
> matchende baggrund.

Det her er bare en 'udviklingsside' for at adskille selve 'pickerfunktionen'
til senere brug.

Meningen er, at den skal bruges til denn side:
<http://w-o-p-r.dk/monitor/monitor.statistics.asp>

hvor der er en masse fra/til dato tid felter, og internt opererer jeg med
den her 'stardate', som ikke er helt 'human readable'.

> Man kunne nok udvide den funktion også, så den kan bruges til andet end
> tid.

Der er skam også dato, men det ligger som en slags 'faneblad'.

Hvis det ikke umiddelbart er synligt, så må jeg finde ud af at ændre farver.

Men det må blive engang - jeg duer ikke rigtig til det der css, så jeg
bruger nok 10 gange så lang tid for at (prøve på) at finde farver m.m., som
på at lave koden.

--
Med venlig hilsen
Stig Johansen

Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 02:23

Stig Johansen skrev:
> Rune Jensen wrote:

>> Man kunne nok udvide den funktion også, så den kan bruges til andet end
>> tid.
>
> Der er skam også dato, men det ligger som en slags 'faneblad'.

Jeg havde skam set datoen - dato er vel også tid ;)

> Hvis det ikke umiddelbart er synligt, så må jeg finde ud af at ændre farver.

Det er helt fint som det er. No problemo.

> Men det må blive engang - jeg duer ikke rigtig til det der css, så jeg
> bruger nok 10 gange så lang tid for at (prøve på) at finde farver m.m., som
> på at lave koden.

Her adskiller du dig nok ikke fra størstedelen herinde (løseligt
anslået). Farvevalg er ligesom det med proportioner og hvad der passer
sammen med hvad, det er skidesvært. Forståelse af strengteori og de
elleve dimensioner er barnemad i forhold til.

;)


MVH
Rune Jensen

Stig Johansen (26-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 26-12-09 06:32

Rune Jensen wrote:

> Jeg havde skam set datoen - dato er vel også tid ;)

Ja, men ud fra det du skrev, så kunne det misforstås.
Jeg opererer med date/time, hvor time kan oversættes til både tid og
klokken/tidspunkt.

--
Med venlig hilsen
Stig Johansen

Rune Jensen (26-12-2009)
Kommentar
Fra : Rune Jensen


Dato : 26-12-09 22:09

Stig Johansen skrev:
> Rune Jensen wrote:
>
>> Jeg havde skam set datoen - dato er vel også tid ;)
>
> Ja, men ud fra det du skrev, så kunne det misforstås.
> Jeg opererer med date/time, hvor time kan oversættes til både tid og
> klokken/tidspunkt.

Klart nok ;)

Men man kan fint se det. Har også afprøvet flere gange.

Er det lavet som et script, man kan smække ned over en anden side, hvis
det er?


MVH
Rune Jensen

Stig Johansen (26-12-2009)
Kommentar
Fra : Stig Johansen


Dato : 26-12-09 22:59

Rune Jensen wrote:

> Er det lavet som et script, man kan smække ned over en anden side, hvis
> det er?

Ja, i store træk.
Det var til brug for denne side:
<http://w-o-p-r.dk/monitor/monitor.statistics.asp>
Hvor jeg havde 4 <forms>, men jeg er i gang med at reducere den til een form
i stedet.

Derfor ser den nok lidt mærkelig ud.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407844
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste