Validerungsproblem mit AJAX Scripts

Fragen zum Entwickeln eigener Addons?

Moderator: General Support Moderators

Forum rules
Forumregeln
Locked
roland-luethi
Joomla! Apprentice
Joomla! Apprentice
Posts: 8
Joined: Tue Dec 27, 2011 4:30 pm

Validerungsproblem mit AJAX Scripts

Post by roland-luethi » Tue Dec 27, 2011 8:13 pm

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.

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Validerungsproblem mit AJAX Scripts

Post by RedEye » Tue Dec 27, 2011 9:27 pm

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.


Locked

Return to “Entwicklerforum”