• 0
Marie-Anne

Optimiser le chargement des Javascript

Question

Marie-Anne    10

Salut à tous :) 

 

je suis en train de travailler sur mon dernier point : l'optimisation du chargement des fichier javascript.

Dans le fichier core.php si je rajoute l'attribut "async" a ce niveau : 

// Détermine le type d'import en fonction de l'extension de la librairie
			$vendorFiles = json_decode(file_get_contents($vendorPath . 'inc.json'));
			foreach($vendorFiles as $vendorFile) {
				switch(pathinfo($vendorFile, PATHINFO_EXTENSION)) {
					case 'css':
						echo '<link rel="stylesheet" href="' . helper::baseUrl(false) . $vendorPath . $vendorFile . '">';
						break;
					case 'js':
						echo '<script async src="' . helper::baseUrl(false) . $vendorPath . $vendorFile . '" ></script>';
						break;

Tout fonctionne bien, ma page fonctionne normalement sur mobile et gagne en temps d'affichage, mais un problème se pose, mon éditeur tinymce ne se charge plus :joy:

Quelqu'un aurait il une solution ? 

j'utilise la version de CroqueWeb : TinyMCE plus complet

 

Merci d'avance 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

6 réponses à cette question

Messages recommandés

  • 0
Marie-Anne    10
il y a 7 minutes, PeterRabbit a dit :

 

Salut @Marie-Anne ! Je vais sans doute m'attirer les plaisanteries des sachants, mais pourquoi "async" et pas "defer" ? Vu l'explication, il me semble que ce serait mieux pour ce que tu recherches. Je ne peux pas vérifier si les pages se chargent plus vite sur mobile vu que je n'en ai pas, mais TinyMCE se charge, lui.

Observe aussi la place de l'attribut dans les exemples : ce site est suffisamment sérieux pour qu'il n'y ait pas une raison.

Non je pense pas que tu t'attireras des plaisanteries :grin:

 

Defer ne fait pas plus que se que font les navigateurs d'aujourd'hui, async divise par 8 le chargement d'une page et gère beaucoup mieux le chargement des fichiers js

 

:glasses:

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
PeterRabbit    330

@Marie-Anne Bon, puisque tu as déjà répondu, j'explique pourquoi j'ai retiré ma suggestion : si TinyMCE s'affiche bien, on ne peut plus choisir les pages à éditer, ce qui revient au même. :$

Si ça peut te rassurer, ça ne marche pas davantage avec CKEditor, installé différemment.

 

Comme tu as l'air d'être versé dans ces questions, tu crois que ça a une incidence sur la rapidité de chargement que les scripts soient appelés dans l'en-tête de la page ? Parmi les conseils optimisation, j'avais lu qu'il fallait les mettre juste avant la balise fermante </body>, ce que je fais désormais sans réellement savoir.

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
PeterRabbit    330

@Marie-Anne Une demie-heure de lecture et quelques essais plus tard : ce qui ne va pas, comme l'explique cet article, c'est bien que le script traite tous les .js de la même manière à partir du moment où ils figurent dans un "inc.json" en leur ajoutant l'attribut "async". Or il y a des cas où ça ne fonctionne pas :

<!-- Attention le code ci-dessous est un contre-exemple, ne PAS utiliser -->
<script src="jquery.js" async></script>
<script src="autre_script_utilisant_jquery.js" async></script>

D'ailleurs, si on enlève "tinymce.min.js" de "inc.json" et qu'on le met à part avec un appel de script "classique", ça fonctionne. Mais quid du gain escompté par rapport à la rapidité de chargement de la page ?

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par cybertaf
      Bonjour,,
      Vous trouverez ci-dessous des versions d'essai de ZwiiCMS.
      Vos retours sont indispensables pour une chasse aux bugs efficaces, après quoi ces versions deviendront stables.
      Sans la communauté, rien n'est possible !
      Bon téléchargement.
    • Par Marie-Anne
      Bonjour,

      Je cherche la façon de récupérer le contenu des balises titre et description pour pouvoir remplir automatiquement les balises Open Graph selon la page où on se trouve.
      <meta property="og:title" content="??" > <meta property="og:description" content="??"> Merci d'avance.
    • Par dangee
      Si comme moi, vous avez besoin de rajouter des balises "non conventionnelles" (comme itemtype ou itemprop ;)), vous ne pourrez pas avec la configuration de base de TInyMce.
      Pour modifier cela, ouvrez le fichier init.js dans le répertoire /core/vendor/tinymce et ajoutez le code suivant après la langue.
      //valid extended_valid_elements: "*[*]", verify_html : false, cleanup : false, et voilà :))