Fehler: missing name after . operator

Neurodeamon

Erfahrenes Mitglied
Hallöle. Muss mich zwangsweise wieder etwas mit JS auseinandersetzen und hab im Moment ein Brett vorm Kopf. Folgender Code enthält einen Fehler. Und zwar in diesem String: <IMG SRC="../thumbs/subordner/thumb__02.jpg">
Was vergesse ich gerade? Muss ich irgend etwas escapen?
Hmpf... Bin wohl leicht eingerostet :)

Code:
...SCHNIPP...
Arr_Bilder[13] = "../thumbs/subordner/thumb__06.jpg"
Arr_Bilder[14] = "../thumbs/subordner/thumb__13.jpg"
function table_print() {
	referenzbild = window.open("", "referenzbild", "width=500,height=500,left=0,top=0");
	referenzbild.document.writeln("<HTML>");
	referenzbild.document.writeln("<HEAD><TITLE>Referenzbild</TITLE></HEAD>");
	referenzbild.document.writeln("<BODY>");
	referenzbild.document.writeln("<TABLE>");
...SCHNIPP...
	referenzbild.document.writeln("<TR>");
	referenzbild.document.writeln("<TD><IMG SRC="../thumbs/subordner/thumb__02.jpg"></TD>");
	referenzbild.document.writeln("<TD><IMG SRC="../thumbs/subordner/thumb__06.jpg"></TD>");
	referenzbild.document.writeln("<TD><IMG SRC="../thumbs/subordner/thumb__13.jpg"></TD>");
	referenzbild.document.writeln("</TR>");
	referenzbild.document.writeln("</TABLE>");
	referenzbild.document.writeln("</BODY>");
	referenzbild.document.writeln("</HTML>");
}
P.S.: Ausserdem weigert sich dieses JS wehement die letzten beiden Zeilen im Browser anzuzeigen (es fehlt </body> und </html>).
 
Zuletzt bearbeitet:
N'Abend....

Zum einen vergisst du, die DoubleQuotes innerhalb des zu schreibenden Textes zu escapen(oder packe die Texte in Singlequotes).

Und dann sollte korrekterweise, bevor in ein Dokument geschrieben wird, selbiges erstmal geöffnet werden(document.open()).... und wenn du fertig bist, es auch geschlossen werden(document.close()).
Erst mit dem close() wird dem Browser signalisiert, dass das Dokument fertig ist.
 
Danke Sven!
Okay, kleine Änderung von SRC="platzhalter" in SRC='platzhalter' hat schon geholfen.
Das close() hatte ich zusätzlich noch vergessen, dennoch werden nach korrektur der abschließende body- und html-Tag komplett ignoriert und nicht im dokument geladen. (die seite funktioniert zwar auch so, aber das genügt mir nicht....).

Irgend eine Idee? Oder muss ich den ganzen Quelltext posten :)

»rot« wird ignoriert
Code:
	referenzbild.document.writeln("</TR>");
	referenzbild.document.writeln("</TABLE>");
	referenzbild.document.writeln("</BODY>");
	referenzbild.document.writeln("</HTML>");
 
Ich habe nochmal geschaut. Es ist eigentlich unnötig den Quellcode auszupacken. Der generierte Code sieht so aus:

Code:
	referenzbild = window.open("", "referenzbild", "width=500,height=500,left=0,top=0");
	referenzbild.document.writeln("<HTML>");
	referenzbild.document.writeln("<HEAD><TITLE>Referenzbild</TITLE></HEAD>");
	referenzbild.document.writeln("<BODY>");
	referenzbild.document.writeln("<TABLE>");
	referenzbild.document.writeln("<TR>");
	referenzbild.document.writeln("<TD><IMG SRC='../thumbs/subordner/thumb__02.jpg'></TD>");
	referenzbild.document.writeln("<TD><IMG SRC='../thumbs/subordner/thumb__06.jpg'></TD>");
	referenzbild.document.writeln("<TD><IMG SRC='../thumbs/subordner/thumb__13.jpg'></TD>");
	referenzbild.document.writeln("</TR>");
	referenzbild.document.writeln("</TABLE>");
	referenzbild.document.writeln("</BODY>");
	referenzbild.document.writeln("</HTML>");
	window.close();
Einzig die Anzahl der Spalten und Zeilen ändert sich, sprich: Alles über <TABLE> und unter </TABLE> bleibt so wie es ist.

Diese drei Zeilen werden aus irgend einem Grund - der mir absolut unverständlich ist - dann nicht im Quelltext angezeigt.
Code:
	referenzbild.document.writeln("</BODY>");
	referenzbild.document.writeln("</HTML>");
	window.close();

Das obere Beispiel befindet sich in einer Funktion, welche ich dann aufrufe. Nichts besonderes ... »eigentlich«. :)
 
Ich kann mir nur vorstellen, dass das ein Bug in der Quelltextanzeige ist.

So wie der Code jetzt ist, zeigt mir IE den gesamten Code an, Mozilla garnix(der wartet vergeblich auf das von mir bereits erwähnte referenzbild.document.close())
 
Sven Mintel hat gesagt.:
Ich kann mir nur vorstellen, dass das ein Bug in der Quelltextanzeige ist.

So wie der Code jetzt ist, zeigt mir IE den gesamten Code an, Mozilla garnix(der wartet vergeblich auf das von mir bereits erwähnte referenzbild.document.close())

Ja, ich bin heftigst am rumprobieren. Bei mir lädt moz. ohne ende, egal was ich schreibe.
Aber es ist halt der Hohn, wenn man auf dem und für den IE 5.17 für OS 9.x arbeitet :D
Möglicherweise liegt es daran. Jetzt muß ich nur noch den opener ins spiel bringen...
[sarkasmus]Jipie...[/sarkasmus]
 
In der Tat läuft nun alles wie ich es gelplant hatte.
Habe die Entwicklung auf Mozilla 1.3 weitergeführt ....

Abschließend kann ich noch sagen:
Wenn man Javascript Ausgaben mit PHP dynamisch erstellt, sollte man nicht vergessen die Anführungsstriche im Text zu doppelt zu escapen.

\\\" statt \" - einmal für PHP und einmal für JS, damit im JS-generierten Quelltext das Anführungszeichen noch vorhanden ist :)
Habe ich leider erst gemerkt, nachdem ich mich schon ein wenig geärgert hatte *g*
 
Mein Tipp ist für diese Sache immer folgender:
PHP:
jsVar=unescape('<?php echo rawurlencode($phpVar); ?>');

...das geht zwar je nach Einzelfall erheblich zu Lasten der Dateigrösse, damit vermeidest du aber sämtliche Probleme mit heiklen Zeichen(auch ein Zeilenumbruch hätte ja dort z.B. fatale Auswirkungen)
 

Neue Beiträge

Zurück