<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ric&#039;s Blog &#187; syntax error</title>
	<atom:link href="http://blog.rki-home.de/tag/syntax-error/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rki-home.de</link>
	<description>Interessantes oderso...</description>
	<lastBuildDate>Wed, 04 May 2011 08:42:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Firebug, &#8220;syntax error&#8221; und DOCTYPE</title>
		<link>http://blog.rki-home.de/2008/10/22/firebug-syntax-error-und-doctype/</link>
		<comments>http://blog.rki-home.de/2008/10/22/firebug-syntax-error-und-doctype/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 12:35:50 +0000</pubDate>
		<dc:creator>ric</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[CodeCharge]]></category>
		<category><![CDATA[DOCTYPE]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[syntax error]]></category>

		<guid isPermaLink="false">http://blog.rki-home.de/?p=207</guid>
		<description><![CDATA[Heute sind wir über ein interessantes Phänomen bei einem CodeCharge-Projekt gestolpert: bei bestimmten Seiten hatte der Firebug einen &#8220;syntax error&#8221; in Zeile 1 festgestellt und die erste Zeile des HTML-Codes zitiert: &#8220;&#60;!DOCTYPE (&#8230;)&#8221;. Nachfolgene JavaScript-Aufrufe gaben teilweise weitere Fehler aus, teilweise aber auch nicht. Damit konnten wir zunächst gar nichts anfangen. Eine Suche bei Google [...]]]></description>
			<content:encoded><![CDATA[<p>Heute sind wir über ein interessantes Phänomen bei einem CodeCharge-Projekt gestolpert: bei bestimmten Seiten hatte der Firebug einen <strong>&#8220;syntax error&#8221; in Zeile 1</strong> festgestellt und die erste Zeile des HTML-Codes zitiert: &#8220;<strong>&lt;!DOCTYPE</strong> (&#8230;)&#8221;. Nachfolgene JavaScript-Aufrufe gaben teilweise weitere Fehler aus, teilweise aber auch nicht.<br />
<span id="more-207"></span><br />
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 <strong>script-Tag </strong>im Code stehen hat, welches ein <strong>leeres src-Attribut</strong> besitzt.<br />
Bei uns gab es aber keine leeren src-Attribute &#8211; die Lösung war aber gar nicht so weit davon entfernt. In diesem speziellen Fall haben wir wegen der URL-Lesbarkeit diverse <strong>mod_rewrite</strong>-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&#8230;</p>
<p><strong>Zusammengefasst:</strong> 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 &#8220;syntax error&#8221; erzeugten.<br />
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.</p>
<p><strong>Die Lösung:</strong> 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.<br />
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.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rki-home.de/2008/10/22/firebug-syntax-error-und-doctype/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

