Page 1 of 1

Validerungsproblem mit AJAX Scripts

Posted: Tue Dec 27, 2011 8:13 pm
by roland-luethi
Ich kämpfe schon seit wochen mit einem Problem das eigentlich auf meine hohen Qualitätsansprüche zurück zu führen ist. Mein Ziel ist das Websites immer validen Quellcode ausgeben, und ich setze auch nur solche Erweiterungen ein, die dies tun.

Nun seit Joomla nun mit dem neuen mootools Framework ausgestattet ist, kommt immer mehr auch das JQuery Framwork zum Einsatz immer mehr AJAX birgt aber auch die Gefahr das immer mehr Javascript mit der Joomla internen Funktion addScriptDeclartion() in den HTML-Head geparst werden. Vielfach enthalten diese jedoch HTML Elemente die nicht in den head gehören, es wäre also sinnvoll diese mit <![CDATA[ von einer Validierung auszuschliessen.
Gebe ich ein Java Script mit addScriptDeclartion($content) weiter so wird es Standartmässig als "text/javascript" dem HTML-Header hinzugefügt. Doch dieses enthält keine CDATA Deklaration, theoretisch müsste wenn ich

Code: Select all

addScriptDeclartion($content, $type ='text/html')
nutze eine CDATA Deklaration enthalten sein, aber weit gefehlt auch da ist nichts(getestet mit 1.7.3). Würde man das <![CDATA[ mit dem Javascript übergeben würde durch die JDocument Methode addScriptDeclartion daraus <![cdata[ . Grundsätzlich müsste ich also jeder Komponente eine eigene Funktion für Javascript einfügen und diese dann mit setHeadData() in den Header parsen. Weiss sonst jemand wie man das lösen könnte.

Re: Validerungsproblem mit AJAX Scripts

Posted: Tue Dec 27, 2011 9:27 pm
by RedEye
Kopier den head renderer und füge dein CDATA hinzu wenn Joomla die Declarations ausgibt.
Klasse in template Ordner kopieren, Klasse umbenennen z.B. JDocumentRendererHeader, in index.php vom Template includen und in index.php <jdoc:include type="header" />
Ob du nun nur des CDATA Zeugs einfügt oder dir direkt den ganzen head fein umschreibst bleibt dir überlassen.