Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:
> Ikke desto mindre er pseudoprotokolangivelsen ("javascript:") helt
> og aldeles overflødig i en eventhandler.
Hvis man ser "javascript:", så er det et tegn på at man gør noget
forkert[1].
Den er, som du siger, overflødig i en eventhandler-attribut (og betyder
ikke det ham der skrev det sikkert troede - det er bare en label, som
man kan se på eksemplet:
<img onclick="javascript:while(true){break javascript;}alert('nemlig ja!')">
)
I en href-attribut er det med altovervejende sandsynlighed forkert, og
koden efter "javascript:" burde flyttes til en onclick-eventhandler.
> Indholdet i en onclick-parameter er altid javascript (evt.
> vbscript).
Det er faktisk det eneste tidspunkt hvor det giver mening: Hvis
man har både vbscript og javascript i samme side, og man har sat
default-sproget til at være vbscript.
Så vil IE, og kun IE (men det er også det eneste sted vbscript virker)
fortolke "javascript:" foran en event-handler-attribut sådan at
indholdet skal være javascript, ikke vbscript.
Sider på internettet skal ikke bruge vbscript, så der skal man ikke
bruge "javascript:".
> Jeg prøvede lige en gammel side jeg har med forskellige typer af
> tilbagelinks - og FF vil ikke længere gå tilbage på links af typen
> <a href="#" onclick=[tilbagekode i javascript]> - mens det virker
> fint hvis man tilføjer "return false;" til sidst.
Det er ikke så overraskende igen. Hvis man beder om både at gå tilbage
og følge linket, så vælger Firefox åbenbart at lade den sidste virke,
i stedet for at afbryde efter den første.
/L
[1] eller er ved at lave en side med bookmarklets :)
--
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.'