Heute sind wir über ein interessantes Phänomen bei einem CodeCharge-Projekt gestolpert: bei bestimmten Seiten hatte der Firebug einen „syntax error“ in Zeile 1 festgestellt und die erste Zeile des HTML-Codes zitiert: „<!DOCTYPE (…)“. Nachfolgende JavaScript-Aufrufe gaben teilweise weitere Fehler aus, teilweise aber auch nicht.
Damit konnten wir zunächst gar nichts anfangen. Eine Suche bei Google ergab nicht viel, ausser dass vereinzelt Leute auch solche Probleme meldeten, aber meistens keine sinnvolle Lösung präsentieren konnten. Unter anderem wurde darauf hingewiesen, dass dieser Fehler vorkommt, sobald man ein script-Tag im Code stehen hat, welches ein leeres src-Attribut besitzt.
Bei uns gab es aber keine leeren src-Attribute – die Lösung war aber gar nicht so weit davon entfernt. In diesem speziellen Fall haben wir wegen der URL-Lesbarkeit diverse mod_rewrite-Regeln in unserem Projekt, die dummerweise mit den (leider nicht absoluten) Pfadangaben der CodeCharge-JavaScript-Dateien kollidierten. Erschwert hat die Fehlersuche, dass durch die mod_rewrite-Regeln die Script-Datei zufälligerweise auf die jeweilige aufrufende(!) HTML- bzw PHP-Seite umgeleitet wurde. Wenn man also im Firebug die Fehlerzeile anzeigen wollte, bekam man genau den HTML-Code der aufgerufenen Webseite. Wenn wir aufmerksamer gewesen wären, hätten wir merken müssen, dass eigentlich die erste Zeile der jeweiligen JavaScript-Datei als Fehler genannt wurde…
Zusammengefasst: Das Problem lag daran, dass die externen JavaScript-Dateien nicht geladen werden konnten, stattdessen wurden HTML-Seiten durch ungünstig gewählte mod_rewrite-Regeln geladen, die natürlich einen „syntax error“ erzeugten.
Das steht dem Fehlverhalten bei leerem src-Attribut in script-Tags nicht entgegen, denn der Webserver gibt normalerweise eine Standard-Seite (z.B. index.html) zurück, wenn nur ein Verzeichnis aufgerufen wird (bei leerem src-Attribut wird von Webserver automatisch der komplette Pfad der Basis-Seite ohne Dateiname verwendet), oder eben, falls nicht vorhanden, eine Fehler-Seite, die meistens HTML-Code beinhalten und eben nicht JavaScript.
Die Lösung: Man muss nur dafür sorgen, dass alle eingebundenen JavaScript-Dateien auch tatsächlich geladen werden, bzw auch den Inhalt haben, der tatsächlich gebraucht wird.
Bei uns hiess das, die mod_rewrite-Regeln soweit anpassen, dass solche Script-Dateien nicht umgeleitet werden. CodeCharge-seitig wäre das zu aufwendig geworden, denn es handelte sich hier um HTML-Code der von CodeCharge generiert wird und nur schwer beeinflusst werden kann, ohne dass bei neuem Generieren die Anpassungen wieder überschrieben geworden wären.
Hallo!
Man dankt für den Tipp!
Gruß
Hi,
Ich hab mich nach langer Erfahrung auch mal an das mod_rewrite Modul herangetraut. Hab diese Fehler auch miteinkalkuliert aber eben nicht die .js Dateien mitausgeschlossen.
Per Zufall bin ich auf diese Page gekommen und muss sagen.
DANKE
Hab lang genug daran rumgefummelt xD
Achja für all jene die trotzdem noch auf dem Schlauch stehen
RewriteRule \.(css|jpe?g|gif|png|swf|xml|js)$ – [L]
Fügt die obige Zeile bei euren Regeln mit ein.
[…] […]
Danke für den Hinweis!!!
Sehr gut erklärt.
Where not talking about specification but an add-on that throughs an error. I have had firebug through a syntax error for having the doctype with white spaces. James Williams Oct 10 ’11 at 15:47
usa pharmacy mail order prescription drugs from canada cialis pharmacy online Gwjwan qeokkf
5mg dose of cialis prescription https://saleciatad.com/ cialis 100mg india Bqwchv poowco
write my thesis http://essaywrw.com/ buy a term paper online Aftfah suefhw
https://ponlinecialisk.com/ – cheap cialis from india
sildenafil online united states https://eunicesildenafilcitrate.com/ how to get sildenafil online
earn bitcoin
Sale generic isotretinoin c.o.d. website
buy cialis professional
https://buytadalafshop.com/ – cialis order online
Viagra
https://buytadalafshop.com/ – Cialis
Stromectol
Meilleur Prix Cialis France
order cialis uk
http://buystromectolon.com/ – Stromectol
cheap viagra sale – order generic viagra 100mg order tadalafil 10mg for sale
viagra pill for men price https://sildenafilwtf.com
https://ventolin.beauty/ prasco albuterol hfa inhaler cost
https://bluethshop.com sildenafil troche vs tablet