Javascript aus Erweiterungen entfernen und manuell einbinden

Standardmäßig werden in TYPO3 verschiedene Javascript Bibliotheken geladen. Hinzukommen bei einigen Erweiterungen weitere Bibliotheken. Es kann dabei auch vorkommen, dass Javascript Bibliotheken doppelt geladen werden. Zwei verschiedene Extensions laden die gleiche Bibliothek mehrmals. Dadurch entstehen Konflikte und erfordern eine manuelle Anpassung. Unnötige oder mehrfach geladene Javascripts können manuell entfernt werden und nur noch die für sinnvoll erachteten eingebunden werden.

Um alle Javascripts von TYPO3 und allen Extensions zu entfernen muss dieses Typoscript im Root-Template der Seite eingebunden werden (Achtung es werden alle JS nicht nur die Bibliotheken entfernt):

# löscht alle im "head" inkludierten Javascripts
page.includeJS >
# löscht alle im "head" inkludierten Javascript Bibliotheken
page.includeJSlibs >
# löscht alle vor dem schließenden "body" inkludierten Javascripts
page.includeJSFooter >
# löscht alle vor dem schließenden "body" inkludierten Javascript Bibliotheken
page.includeJSFooterlibs >
# löscht alle inline inkludierten Javascripts
page.jsInline >
# löscht alle inline, vor dem schließenden "body" inkludierten Javascripts
page.jsFooterInline >

Bei den Werten "page.jsInline" und "page.jsFooterInline" muss beachtet werden, das hier in den meisten Fällen die Funktionen (Feld Validierung, optische Effekte, usw.) und nicht die Bibliotheken definiert werden!

Javascript Bibliotheken manuell einbinden (die mit dem TYPO3 Core mitgeliefert werden):

page.javascriptLibs {
   # prototype
   Prototype = 1
   # Scriptaculous
   Scriptaculous = 1
   #  Scriptaculous Module hinzufügen
   Scriptaculous.modules = dragdrop,controls
   # ExtCore
   ExtCore = 1
   # die ExtCore Debug-Datei (unkomprimiert)
   ExtCore.debug = 1
   # ExtJS
   ExtJs = 1
   # ext-all.css
   ExtJs.css = 1
   # standard theme
   ExtJs.theme = 1
   # läd angegebenen Adapter (jquery|prototype|yui)
   ExtJs.adapter = …
   # QuickTips
   ExtJs.quickTips = 1
   # die ExtJS Debug-Datei (unkomprimiert)
   ExtJs.debug = 1
}

Anschließend können dann eigene Javascript's eingebunden werden, z.B.:

page.includeJSFooter.file1 = fileadmin/myjs.js 

oder das einer Extension:

page.includeJS.file2 = typo3conf/ext/EXTENSIONKEY/resources/js/extension.js

oder ohne Datei:

page.jsInline.10 = TEXT
page.jsInline.10.dataWrap = var pid = {TSFE:id}; alert('pid: '+pid);
Aktualisiert: 29.06.2016