Erklärung dafür ist recht easy:
Du solltest immer darauf achten, inwiefern sich Anführungszeichen mit Hochkommas abwechseln.
Bist du im
onLoad-Handler des <body>-Tags, dann verlangt der Handler einen String als zugeordneten Wert; ein String wird mit Hochstrichen umklammert, solange er literal erfasst wird und nicht variabel.
Ob du nun den String mit Anführungszeichen
oder Hochkommas
umklammerst, ist primär Wurst.
Wichtiger ist, wie sich der Inhalt des Strings zusammensetzt.
Befindet sich innerhalb des Strings wiederum ein String, der mit Hochstrichen umklammert wird, dann solltest du darauf achten, dass du die jeweils andere Form von Hochstrichen dann verwendest, bspw.
PHP:
<body onLoad="window.open('...', '...', '...');">
und nicht den Fehler begehst und die gleiche Art von Hochstrichen verwendest:
PHP:
<body onLoad="window.open("...", "...", "...");">
denn sonst hast du dem Schlamassel und der JavaScript-Interpreter erkennt nichtmehr, was denn nun zum
onLoad-Handler gehört und was dafür zum String gehört, der dem Handler zugeordnet wird.
Damit erreichst du die maximalste Stufe von Konfusion für den Interpreter - er wird nie erraten, was du scripten wolltest...
Also merken - bei der Verwendung von Hochstrichen immer beachten, ob noch andere Hochstriche in der Script-Umgebung auftauchen und ggf. immer die Art und Weise der Verwendung von Hochstrichen abwechseln.
hth,
Geist