Hoi pepweb,
Nop, als er
type="text/javascript" bij staat (ipv
language="Javascript"), dan is het goed voor de HTML.
Kan iemand een fout ontdekken?
Ja! Ik ontdekte in het tweede script een javascript-foutje.

Ergens staat als link naar de pagina met de logo's:
Code:
document.write([B][FONT=Arial][COLOR="#B22222"]'[/COLOR][/FONT][/B]<table border="1"> ... <a href="http://www.treinen-cool.nl/page/logos">Logo[COLOR="#B22222"][B][FONT=Arial]'[/FONT][/B][/COLOR]s</a> ... </table>[B][COLOR="#B22222"][FONT=Arial]'[/FONT][/COLOR][/B]);
Nu is het zo, dat het script de
document.write() functie gebruikt, dwz. alles wat erna komt moet als html in de pagina geschreven worden (daarom is het ook 1 lange javascript-regel; kan ook anders, maar dat is hier niet gedaan).
Verder is het in javascript zo, dat een los woord een variabele-naam is.
- Je kunt dus niet op de stippeltjes van document.write(...) zomaar beginnen met de html-code. Als het om letterlijk in te voegen code gaat, moeten er aanhalingstekens omheen.
- Het is hier geworden: document.write('...').
Het eerste aanhalingsteken geeft aan dat er geen javascript-code volgt; het tweede aanhalingsteken, dat daarna het javascript weer verder gaat.
Nu zitten er binnen de lange regel ook nog aanhalingstekens: de dubbele aanhalingstekens voor de html-eigenschappen (bv.:
href="http://..."). Omdat dit aanhalingstekens van een andere soort zijn, mag dat, en loopt de zaak gewoon door.
Maar nu!
- In de logo-link staat als tekst: .../logos">Logo's</a>...
Aha, denkt javascript, daar eindigt dus bij de apostrof van logo
's wat met het enkele aanhalingsteken van
document.write('... is begonnen, en nu moet ik de rest weer als javascript opvatten.
Dat gaat natuurlijk niet: dus het script struikelt!
Eigenlijk zouden we een 3e soort aanhalingstekens nodig hebben, dan was er niets aan de hand, en kon de apostrof van
logo's gewoon blijven bestaan.
Maar de javascript-bedenkers hebben er wat anders op gevonden.
- Als een aanhalingsteken/apostrof niet in de javascript-betekenis wordt gebruikt, dan moet het vooraf een "escape"-teken krijgen.
- Daarvoor wordt de achteroverhellende slash (backslash) gebruikt: \
Dus als de
' van
logo's die escape
\ krijgt, gaat het goed:
Code:
[COLOR="#B22222"].../logos">Logo\'s</a>...[/COLOR]
Verder zie ik zo gauw geen ongerechtigheid in het script, dus zo zou het moeten werken.
Met vriendelijke groet,
CSShunter