Seltsames Problem: Javascript Code wird auf dem Server nicht in die Datei übernommen

Tim C.

Erfahrenes Mitglied
Guten Morgen zusammen!

So langsam aber sicher zweifele ich an meine generellen Verständnis für Webtechnologie. Ich habe eine PHP Datei, die einen <script> Block enthält in die eine weitere Datei via include eingebunden wird, die ebenfalls einen <script> Block enthällt.

In meiner lokalen Testumgebung mit Apache und PHP läuft das einwandfrei. Lade ich das ganze allerdings auf den Server und rufe mit dem gleichen Browser das ganze auf, so produziert es Fehler in Zeile XY. Also habe ich mal über Ansicht -> Quelltext den Quelltext aufgerufen und in die Zeile geguckt, die den Fehler fabrizieren soll. Was sehe ich da? Nichts besonderes, nur ein ganz normaler Aufruf meiner Javascript Funktionen die in den <script> Blöcken definiert sind. Ich scrolle also hoch an die Stelle, an der die Definitionen stehen müssten und was sehe ich da, anstelle meiner Funktionen, eingeschlossen von <script language="JavaScript">Funktionen</script>?
Code:
<!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
Und da steigt mein gesunder Menschenverstand aus. Was hat der Server bitte mit dem JS zu schaffen, dass der das so verstümmelt? Lokal läuft es und da der Webserver doch keinen Einfluss auf das JS nimmt, kapier ich es einfach nicht.

Einer JS Variable wird der Wert eine MySQL Datenbankabfrage (via PHP zugewiesen). Kann, je nach Inhalt dieser Abfrage so etwas entstehen?

Ich bin für jeden Hinweis dankbar, denn ich bin wirklich am Ende meines Wissens angelangt.
 
Der Teil mit dem PHP ist just diese hier
Code:
var sourceCode = '<?php if(is_array($row)) { echo $content; } else { echo ""; }?>';
Also wird es dich wohl interessieren, was in $content drinstehen könnte? Es steht HTML Code drin. Ich hatte schonmal Probleme, als dort der Pseudo HTML Code aus Word genutzt wurde, aber so, dass gar nix mehr ging und der ganze Javascript Block einfach genullt wird, war es noch nie.
 
Höchst Merkwürdig..... und die ganzen Bindestriche.... die stehen wirklich so im Quelltext?....irgendwo müssen die doch herkommen.

Hast du irgendwo etwas, was diese möglicherweise erzeugen könnte?
 
Original geschrieben von fatalus
Höchst Merkwürdig..... und die ganzen Bindestriche.... die stehen wirklich so im Quelltext?....irgendwo müssen die doch herkommen.
Ja die stehen wirklich so im Quelltext. Auf Wunsch kann ich mal nen Screenshot von dem Quelltext machen.


Hast du irgendwo etwas, was diese möglicherweise erzeugen könnte?
Ich wüsste jetzt nicht was. Wenn du mir allerdings sagst, jenachdem welchen Wert die Variable hat, kann sie den ganzen JS Block schrotten, dann würde ich da noch mal restriktiver gucken was die Variable für Inhalte hat/haben kann.

Aber generell geht mir das nicht auf. Javascript ist doch clientseitig. Da muss doch eigentlich in der Variable stehen können was will, nichts dürfte dafür sorgen, dass der ganze Block mit meinen Funktionen genullt wird oder?
 
Jo... dass das an der Zeile "var $sourceCode=...." liegt, kann ich mir nicht vorstellen... würde auch keinen Sinn machen.

Was steht den in der includeten Datei mit den JS-Funktionen?

Ist da bspw. ein "<?" zu finden... möglicherweise sind da lokal und online die Einstellungen mit den PHP-Tags unterschiedlich?
 
Original geschrieben von fatalus
Jo... dass das an der Zeile "var $sourceCode=...." liegt, kann ich mir nicht vorstellen... würde auch keinen Sinn machen.

Was steht den in der includeten Datei mit den JS-Funktionen?

Ist da bspw. ein "<?" zu finden... möglicherweise sind da lokal und online die Einstellungen mit den PHP-Tags unterschiedlich?
Hi, habe so lange nicht geantwortet, weil ich übers Wochenende zu Hause keinen Zugriff auf den Code hatte.

Was genau im Source der Datei mit den JS Funktionen noch so steht, kann ich dir heute Mittag noch schreiben.

Wenn die PHP Tags anders konfiguriert wären, würde er doch aber den PHP Code im Klartext ausgeben und nicht den gesamten JS Block durch Kommentare ersetzen oder?

PS: Ich weiss, dass durch meine Includes an der Stelle sehr unsauberer HTML Code entsteht (zweimal <head> und so Späße :rolleyes: deshalb auch die zwei getrennten <script> Blöcke.). Ich weiss, dass das schlecht ist und mit der Zeit noch gefixt werden muss, allerdings kann ich mir nicht vorstellen, dass das Problem daran liegt, da genau der gleiche falsche HTML-Code ja vorher vom gleichen Browser korrekt interpretiert wurde und der Server seinerseits, da ja nichts dran zu suchen hat.
 
Ich hab mal probiert, das irgendwie nachzustellen, habs aber selbst mit den abwegigsten Gedankengängen nicht geschafft.

Auf jeden Fall wärs doch mal gut, die Dateien zu sehen, manchmal sieht man den Wald vor Bäumen nicht.

BTW:Hast du das schon mal mit nem anderen Brauser ausprobiert?

Ich hatte mal ein Problem mit dem IE5.... da war auf einer Seite irgendein externes Bannerskript drinnen.
Von dieser Seite wurde dann per JS zu einem Frameset weitergeleitet.
Und was erwartete mich auf der Zielseite..... Kolonnen von Binärdaten, gemischt mit ein paar Original-HTML-Schnipseln.
Ich hab nie rausbekommen, woran es lag, in den Skripten war nix zu entdecken, was merkwürdig wäre.

Ich hab dann letztendlich aus Verzweiflung das Skript rausgeworfen... es passierte aber eben nur im IE5, andere Brauser hatten
keine Probleme.
 
Der Witz ist ja folgender. Ich habe es immer hier von meinem Rechner aus getestet mit dem gleichen IE und es ging. Genauso wurde am PC desjenigen, der inhaltlich mit dem Admin Control Panel arbeitet (ich entwickel das nur) nichts geändert.

Ich bin echt am Ende. Habe schon sämtliche Javascript Funktionen in die index.php gepackt, so dass in der Datei, die über include() eingebunden wird, gar nichts mehr an <head> oder <body> oder JS Code steht. Und was habe ich davon? Jetzt ist der gesamte <script> Block Müll. Das muss also denke ich ein Fehler in irgendeiner Funktion sein?

Ich hänge hier mal zwei Screenshots an, damit ihr mir glaubt, was ich hier für abstruse Sachen sehe. Auf Wunsch stelle ich auch mal die gesamte Datei hoch.

Screenshot vom orignial Source der auf dem Server liegt
Screenshot vom Sourcecode, den ich bekomme wenn ich nach aufrufen der Seite auf Ansicht->Quellcode gehe

:(
 
Ich kanns mir zwar kaum vorstellen, aber kann es sein, dass dein Webhoster in irgend einer Form JavaScript nicht zulaesst (oder was auch immer)?
 

Neue Beiträge

Zurück