Hallo,
an welcher Stelle wird denn im Contenido das Script-Tag zur Javascript-Cache-Datei der Module vor dem abschließenden Body-Tag erstellt?
Würde das gerne manipulieren und anders (später) laden.
Hintergrund:
Die Pagespeed Insight Werte sind für Contenido sehr schlecht (21 mobile und 73 desktop) und würde gerne mein jQuery z.B. erst ganz am Ende laden (da jQuery sehr groß ist und das Rendern blockiert) und danach die Javascripte der Module (die auf jQuery basieren).
Oder gibts da noch eine andere Möglichkeit?
Javasrcipt Modul Cache
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Javasrcipt Modul Cache
Servus,
was bitte ist mit "später laden" gemeint? Also noch später als direkt vor dem schließenden body-Tag?
Oft hilft auch die js und css Dateien zu minifizieren und den Browser-Cache entsprechend zu optimieren.
Gruß aus Franken
Ortwin
was bitte ist mit "später laden" gemeint? Also noch später als direkt vor dem schließenden body-Tag?
Oft hilft auch die js und css Dateien zu minifizieren und den Browser-Cache entsprechend zu optimieren.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Javasrcipt Modul Cache
Hallo Bernbacher,
wenn du im Layout an gewünschter Stelle den Platzhalter {JS} definierst, wird das CMS beim Generieren der Seite den Platzhalter mit dem script-Tag der JS-Cache-Datei ersetzen. Gibt es kein Platzhalter {JS} im Layout, wird der script-Tag vor dem schließenden body-Tag (</body>) hinzugefügt.
Wenn du im Layout eigene JS-Sourcen vor dem schließenden body-Tag eingebunden hast, wir der script-Tag auch nach denen hinzugefügt.
Das Ganze passiert in contenido/classes/code_generator/class.code.generator.standard.php.
Gruß
xmurrix
wenn du im Layout an gewünschter Stelle den Platzhalter {JS} definierst, wird das CMS beim Generieren der Seite den Platzhalter mit dem script-Tag der JS-Cache-Datei ersetzen. Gibt es kein Platzhalter {JS} im Layout, wird der script-Tag vor dem schließenden body-Tag (</body>) hinzugefügt.
Wenn du im Layout eigene JS-Sourcen vor dem schließenden body-Tag eingebunden hast, wir der script-Tag auch nach denen hinzugefügt.
Das Ganze passiert in contenido/classes/code_generator/class.code.generator.standard.php.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: Javasrcipt Modul Cache
Danke Euch beiden erstmal für die schnelle Antwort!
@Oldperl: mit "später laden" meinte ich, dass ich meine Javascripte am Ende nach dem Seitenaufbau manuell laden will.
@xmurrix: das mit dem {JS} wusste ich noch nicht! Wo kann man so essentielle Sachen nachlesen oder wie kommt man dorthin es rauszufinden? Zumindest war ich nicht clever genug dazu in der contenido/classes/code_generator/class.code.generator.standard.php danach zu suchen , daher danke nochmal sehr für den Hinweis!
Ich lade meine Javascripte jetzt vor dem schließenden Body-Tag wie folgt:
Damit wird erst die Seite geladen, angezeigt, dann erst jQuery und die weiteren Javascripte geladen (in der class.code.generator.standard.php habe ich dann natürlich die Ausgabe der Javascript-Modul-Cache-Datei unterdrückt).
Das befördert mich bei Pagespeed-Insight gleich um 40(!) Punkte hoch in den grünen Bereich und der Kunde ist zufrieden!
Vielen Dank nochmal für Eure Hinweise!
@Oldperl: mit "später laden" meinte ich, dass ich meine Javascripte am Ende nach dem Seitenaufbau manuell laden will.
@xmurrix: das mit dem {JS} wusste ich noch nicht! Wo kann man so essentielle Sachen nachlesen oder wie kommt man dorthin es rauszufinden? Zumindest war ich nicht clever genug dazu in der contenido/classes/code_generator/class.code.generator.standard.php danach zu suchen , daher danke nochmal sehr für den Hinweis!
Ich lade meine Javascripte jetzt vor dem schließenden Body-Tag wie folgt:
Code: Alles auswählen
<script type="text/javascript">
function downloadJSAtOnload(){
[
'js/jquery-3.3.1.min.js',
'js/jquery-ui.min.js',
'js/meineJS.js',
'cache/layout.js'
].forEach(function(src) {
var script = document.createElement('script');
script.src = src;
script.async = false;
document.head.appendChild(script);
});
}
if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
Das befördert mich bei Pagespeed-Insight gleich um 40(!) Punkte hoch in den grünen Bereich und der Kunde ist zufrieden!
Vielen Dank nochmal für Eure Hinweise!
Re: Javasrcipt Modul Cache
Gern geschehen.
Die Sache mit den Platzhaltern steht dort z. B. auf folgender Seite:
https://docs.contenido.org/display/COND/Layouts
Gruß
xmurrix
Einige gute Hinweise zum CMS findest du unter https://docs.contenido.org/.Bernbacher hat geschrieben: ↑Fr 20. Jul 2018, 18:41...@xmurrix: das mit dem {JS} wusste ich noch nicht! Wo kann man so essentielle Sachen nachlesen oder wie kommt man dorthin es rauszufinden?...
Die Sache mit den Platzhaltern steht dort z. B. auf folgender Seite:
https://docs.contenido.org/display/COND/Layouts
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.