"John Kjoller" <john@skrivikkedette-basix.dk> writes:
> Og så er svaret at "language" er forkert, og "type" er korrekt - ikke sandt?
Type er korrekt (pakrævet og tilstrækkeligt).
Language er ikke decideret forkert, men(!) det er frarådet (deprecated)
af HTML-specificationen (har været det siden den kom med) og kan endda
forvirre browsere.
> Er der en speciel grund til at mange bruger "language"? (er det en gammel
> form, eller hvor er det kommet fra?)
Gammel form. Netscape indførte <script language="JavaScript"> i Netscape 2,
den første browser med scripting. Så kom Netscape 3, som brugte JavaScript
version 1.1. For at kunne bruge de "moderne" features, uden at forvirren
Netscape 2'ere, kunne man skrive <script language="JavaScript1.1">. Det
ville så kun køre på Netscape 3.
Så kom Netscape 4 med JavaScript 1.2, som ikke bare var en udvidelse af
JavaScript 1.1, men som også lavede nogle små ændringer i hvordan nogle
ting opførte sig. Igen kunne man skrive "JavaScript1.2" for at udelukke
de ældre browsere. Man kunne dog også skrive "JavaScript1.1", og så
fortolkede Netscape 4 scriptet på den gamle måde. Altså to sprog i en
browser :)
Netscape fandt ud af at ændringer i hvordan en if-sætning virker, ikke
er en god idé. I Netscape 4.06 indførte de JavaScript version 1.3.
JavaScript 1.4 blev sprunget over (sikkert planlagt til Netscape 5, som
jo også bliv skippet).
JavaScript 1.5 kom med Mozilla (og derfor Netscape 6, 7 og 8).
Selv i de nyeste browsere Netscape-browsere kan man stadig bestemme at
man vil bruge den "lidt anderledes" fortolkning fra JavaScript 1.2 ved
at bruge language="JavaScript1.2". Det betyder også at et script hvor
der står dette kan blive udført forskelligt på Netscape/Mozilla og IE
(eller andre browsere der kun implementerer en version af ECMAScript).
Altså: *Aldrig* skrive "JavaScript1.2". Det er direkte farligt (selvom
ændringerne er i dele af JavaScript som man heldigvis sjældent rammer).
Men den regel er egentlig ligegyldig, for type="text/javascript" er,
som sagt, påkrævet i HTML og er altid tilstrækkelig.
Eksempel: Prøv at sætte dette på en side, og kig på den i
Mozilla/Netscape og en anden browser, fx IE:
<script language="JavaScript1.2">
var a = 0;
var b = 1;
if (a=b) {
alert("ej JS 1.2");
} else {
alert("JS 1.2");
}
</script>
Hyg!
/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.'