Leoparddrengens
Public Key

fredag den 17. september 2010, kl. 08.46

En advarsel om selvafsluttende script-tags!

Ja, det her bliver så lige et lidt indspist html-programmeringsindlæg. Som nok ikke har den store interesse for de fleste af mine faste læsere, men jeg syntes lige jeg ville poste det, hvis nogen siden løber ind i samme problem:

Little Miss Phoenix gjorde mig - for anden gang - opmærksom på, at min kontakt-knap altså ikke virkede. Hvilket undrede mig, for det gjorde den da hos mig (i Chrome). Men dennegang satte jeg mig for at få undersøgt sagen.

Og forklaringen er, at jeg har lavet et javascript med nogle funktioner til at lave en simpelt kodet email adresse om til mail-adresse som ser rigtig ud, og virker rigtig. Så jeg kan skrive adresser uden at harvesters får fat på dem, og bruger dem til spam, men så de ser ok ud for læserne/fungerer rigtigt i browseren. Og det er altsammen meget fint.

Men det kaldte jeg med:
<script src="minkodeurl.js" type="text/javascript" />
<script type="text/javascript">minfunktion();</script>

Altså - jeg læser først scriptet ind, og så udfører jeg en funktion i det.

Og det fungerede fint - i Chrome. Men det viser sig at Chrome er for flink. For af uransagelige årsager siger DTD'en åbenbart, at script-tagget ikke må gøres selvafsluttende, selvom der ikke skal ære noget i det. Det kan man vist så alligevel, hvis man sender i en anden content-type end text/html, men så opstår der andre problemer.

Så den helt simple løsning er, at lade være at selvafslutte script-tags - røvirriterende når man nu ellers er begyndt at vænne sig til xml-syntaksen. Så jeg rettede altså ovenstående kode til
<script src="minkodeurl.js" type="text/javascript"></script>
<script type="text/javascript">minfunktion();</script>

og så virkede det.

Sikkert en helt banal & almindeligt kendt fejl - men jeg var altså ikke stødt på den før. Så advarsel er hermed givet videre.

Ceterum censeo Facebook esse delendam.

0 kommentarer: