/ 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
history?
Fra : John Kjoller


Dato : 20-06-05 11:40

Hvordan er det nu, burde dette ikke fungere:

<a href="#" onclick="javascript: history.go(-1)">tilbage</a>

Hvis man gerne vil kunne gå tilbage til forrige side?

Det fungerer ret dårligt i FF, men tilsyneladende fint i IE.

Eller er der en bedre måde at gøre det på?

KH
john





 
 
Jens Gyldenkærne Cla~ (20-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-06-05 12:04

John Kjoller skrev:

> <a href="#" onclick="javascript: history.go(-1)">tilbage</a>

Du bør ikke bruge javascript-(pseudo)-protokollen i hændelseskoder
(onclick, onfocus, etc.). Det vil altid være javascript her.

Men metoden plejer dog at virke alligevel. Se evt. siden her:
<http://gyros.dk/usenet/html/tilbage.shtml> (som skal åbnes fra en anden
side - fx <http://gyros.dk/usenet/html/> - for at virke).

Jeg har lige afprøvet i FF hvor alle fire virker fint.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Kasper Lindberg (20-06-2005)
Kommentar
Fra : Kasper Lindberg


Dato : 20-06-05 21:18


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:9dsdhsc9hsn9.dlg@jcdmfdk.invalid...
> John Kjoller skrev:
>
>> <a href="#" onclick="javascript: history.go(-1)">tilbage</a>

jeg vil ikke nægte at ovenstående virker, men hvorfor ikke bare:

<a href="javascript:history.back(1)">tilbage</a>
(.go kan sikkert også bruges)

>
> Du bør ikke bruge javascript-(pseudo)-protokollen i hændelseskoder
> (onclick, onfocus, etc.). Det vil altid være javascript her.
>

Nej, ikke altid.

sidens "standard" script -sprog, angives af den første script type/language
erklæring der mødes.

f.eks. vil funktionen void(0) opfattes som vbscript, hvis indlejret i
nedenstående

<html>
<head>
<title> titel </title>
<script type="text/vbscript">
</script>
</head>
<body>
<a href="#" onclick="void(0)">link</a>
</body>
</html>

vbscript kender ikke funktionen "void(0)" og der kommer en fejl.

til gengæld vil fejlen ikke komme hvis der i stedet for vbscript stod
javascript


/Kasper



Jens Gyldenkærne Cla~ (20-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-06-05 21:56

Kasper Lindberg skrev:

> <a href="javascript:history.back(1)">tilbage</a>

Back tager ikke noget argument. Enten history.back() eller også
history.go(-1)


>> Du bør ikke bruge javascript-(pseudo)-protokollen i
>> hændelseskoder (onclick, onfocus, etc.). Det vil altid være
>> javascript her.

> Nej, ikke altid.

Det er korrekt at script-kode uden en script-protokol tolkes i
sidens standardscript - og at det i princippet ikke behøver at være
javascript.

Men da javascript er det eneste bredt understøttede scriptsprog
(vbscript understøttes kun af IE + kloner), er clientsidescripts i
min verden altid skrevet i javascript.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lasse Reichstein Nie~ (20-06-2005)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 20-06-05 23:25

Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:

> Kasper Lindberg skrev:
>
>> <a href="javascript:history.back(1)">tilbage</a>
....
>>> Du bør ikke bruge javascript-(pseudo)-protokollen i
>>> hændelseskoder (onclick, onfocus, etc.). Det vil altid være
>>> javascript her.
>
>> Nej, ikke altid.
>
> Det er korrekt at script-kode uden en script-protokol tolkes i
> sidens standardscript - og at det i princippet ikke behøver at være
> javascript.

Hvis man skal overholde HTML-standarden præcist, så vil kode
i "intrinsic event handlers" (hvordan det så oversættes) altid
være i sidens valgte script-sprog. Dette vælges fx ved at have
<meta http-equiv="Content-Script-Type" content="text/javascript">
i head (eller send det som del af HTTP-responsen). Hvis man har
event-handlere, så skal man huske at angive denne (selvom browsere
er tilgivende og antager at du mente Javascript :).


Microsoft har dog tilføjet en mulighed for at angive hvilket sprog
en enkelt handler skal fortolkes som. Hvis IE ser at handleren
starter med fx "javascript:" eller "vbscript:", så fortolker den
resten af handleren som dette. Dette er *ikke* standard HTML, og
virker ikke i andre browsere. De fortolker blot det foranstillede
"javascript:" som en label der ikke bliver brugt.
(Det kan ses af dette eksempel:

<span onclick="javascript:for(;;){break javascript;}alert('ok');">
TEST</span>

som giver en fejl i IE ("label not found") og virker i fx Mozilla og
Opera)


Bemærk at dette *ikke* er det samme som en javascript-URI, altså en
URI der begynder med protokollen "javascript:". Sådan en skal bruges i
stedet for et link, altså i href'en for et a-element (eller mere
præcist: kan bruges, bør ikke! Se: <URL:http://jibbering.com/faq/#FAQ4_24>)

> Men da javascript er det eneste bredt understøttede scriptsprog
> (vbscript understøttes kun af IE + kloner), er clientsidescripts i
> min verden altid skrevet i javascript.

Hvis målet er internettet, så er det det eneste der giver mening.
Og så er det endda stadig svært at lave kode der virker i både
standard-overholdende browsere og IE.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Johnny Winther Ronne~ (21-06-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 21-06-05 20:21


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:zmtkvf81.fsf@hotpop.com...
> Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:
>
> > Kasper Lindberg skrev:
> >
> >> <a href="javascript:history.back(1)">tilbage</a>
> ...
> >>> Du bør ikke bruge javascript-(pseudo)-protokollen i
> >>> hændelseskoder (onclick, onfocus, etc.). Det vil altid være
> >>> javascript her.
> >
> >> Nej, ikke altid.
> >
> > Det er korrekt at script-kode uden en script-protokol tolkes i
> > sidens standardscript - og at det i princippet ikke behøver at være
> > javascript.
>
> Hvis man skal overholde HTML-standarden præcist, så vil kode
> i "intrinsic event handlers" (hvordan det så oversættes) altid
> være i sidens valgte script-sprog. Dette vælges fx ved at have
> <meta http-equiv="Content-Script-Type" content="text/javascript">
> i head (eller send det som del af HTTP-responsen). Hvis man har
> event-handlere, så skal man huske at angive denne (selvom browsere
> er tilgivende og antager at du mente Javascript :).
>
>
> Microsoft har dog tilføjet en mulighed for at angive hvilket sprog
> en enkelt handler skal fortolkes som. Hvis IE ser at handleren
> starter med fx "javascript:" eller "vbscript:", så fortolker den
> resten af handleren som dette. Dette er *ikke* standard HTML, og
> virker ikke i andre browsere. De fortolker blot det foranstillede
> "javascript:" som en label der ikke bliver brugt.
> (Det kan ses af dette eksempel:
>
> <span onclick="javascript:for(;;){break javascript;}alert('ok');">
> TEST</span>
>
> som giver en fejl i IE ("label not found") og virker i fx Mozilla og
> Opera)
>
>
> Bemærk at dette *ikke* er det samme som en javascript-URI, altså en
> URI der begynder med protokollen "javascript:". Sådan en skal bruges i
> stedet for et link, altså i href'en for et a-element (eller mere
> præcist: kan bruges, bør ikke! Se:
<URL:http://jibbering.com/faq/#FAQ4_24>)
>
> > Men da javascript er det eneste bredt understøttede scriptsprog
> > (vbscript understøttes kun af IE + kloner), er clientsidescripts i
> > min verden altid skrevet i javascript.
>
> Hvis målet er internettet, så er det det eneste der giver mening.
> Og så er det endda stadig svært at lave kode der virker i både
> standard-overholdende browsere og IE.
>
> /L

Jeg kan godt lide ideen med brugen af metatags til den slags definitioner.

Nogen der kender nogle gode sider med specifikationer på alment gyldige
metatags, Dublin Core dur ikke i den form for sammenhæng.

Med venlig hilsen
Johnny Winther Ronnenberg



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

Månedens bedste
Årets bedste
Sidste års bedste