- Posts: 2696
- Thank you received: 74
script async ? jquery 2 fois
10 years 2 months ago - 10 years 2 months ago #246198
by erickb
script async ? jquery 2 fois was created by erickb
-- HikaShop version -- : 263
-- Joomla version -- : 360
Bonjour
est ce un probleme de passer tous les scripts en async pour le fonctionnement d'hikashop ?
ensuite hikashop charge son propre jquery
alors qu'une version est deja chargee
ne peut on pas eviter ça ?
il charge aussi
que je ne veux pas utiliser
comment eviter ça aussi ?
merci
-- Joomla version -- : 360
Bonjour
est ce un probleme de passer tous les scripts en async pour le fonctionnement d'hikashop ?
Code:
<script src="/media/com_hikashop/js/hikashop.js?v=263" async="async"></script>
ensuite hikashop charge son propre jquery
Code:
<script src="/media/com_hikashop/js/jquery.min.js" async="async"></script>
alors qu'une version est deja chargee
Code:
<script src="/media/jui/js/jquery.min.js" async="async"></script>
ne peut on pas eviter ça ?
il charge aussi
Code:
<script src="/media/com_hikashop/js/tooltip.js"></script>
comment eviter ça aussi ?
merci
Last edit: 10 years 2 months ago by erickb.
Please Log in or Create an account to join the conversation.
10 years 2 months ago #246202
by nicolas
Replied by nicolas on topic script async ? jquery 2 fois
Bonjour,
Ajouter async peut potentiellement faire que le javascript dans le header qui a besoin des classes/fonctions dans le fichier soit exécuter avant que le fichier soit chargé et parsé et donc causer un problème.
Je ne recommande pas de faire ça.
Pour jQuery, vous pouvez utiliser l'extension jQuery Easy pour éviter cela.
Pour tooltips.js il n'est chargé par HikaShop que quand c'est nécessaire. Si vous l'avez sur la page, c'est que quelque chose sur la page a besoin de lui. Donc je ne recommande pas de l'enlever.
Mais si vraimenet vous voulez le faire, il faut changer la fonction hikashop_loadJslib dans administrator/components/com_hikashop/helpers/helper.php
Ajouter async peut potentiellement faire que le javascript dans le header qui a besoin des classes/fonctions dans le fichier soit exécuter avant que le fichier soit chargé et parsé et donc causer un problème.
Je ne recommande pas de faire ça.
Pour jQuery, vous pouvez utiliser l'extension jQuery Easy pour éviter cela.
Pour tooltips.js il n'est chargé par HikaShop que quand c'est nécessaire. Si vous l'avez sur la page, c'est que quelque chose sur la page a besoin de lui. Donc je ne recommande pas de l'enlever.
Mais si vraimenet vous voulez le faire, il faut changer la fonction hikashop_loadJslib dans administrator/components/com_hikashop/helpers/helper.php
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
10 years 2 months ago #246378
by erickb
merci
Replied by erickb on topic script async ? jquery 2 fois
Oui j'ai une extension pour ça mais ne serait il pas preferable qu'Hikashop ne charge jquery que s'il n'est pas deja charge ?nicolas wrote: Pour jQuery, vous pouvez utiliser l'extension jQuery Easy pour éviter cela.
merci
Please Log in or Create an account to join the conversation.
10 years 2 months ago #246381
by nicolas
Replied by nicolas on topic script async ? jquery 2 fois
Bonjour,
Ce serait bien oui. Malheureusement, quand la fonction hikashop_loadJslib est appelée pour charger jQuery, il n'y a pas encore le jQuery de Joomla de chargé, et même certaines fois, il est chargé mais pas avec la bonne version, que ça soit par une autre extension ou le template.
Le problème, c'est qu'il n'y a pas vraiment de système solide dans Joomla pour charger des librairies JS entres les différentes extensions sans conflits. C'est pourquoi la seule solution que nous avons trouvé, qui génère le moins de soucis, est de charger notre propre jQuery lorsque c'est nécessaire. Cela peut finir avec jQuery chargé plusieurs fois sur la page et jQuery Easy permet de remédier à cela dans ces cas-là.
Ce serait bien oui. Malheureusement, quand la fonction hikashop_loadJslib est appelée pour charger jQuery, il n'y a pas encore le jQuery de Joomla de chargé, et même certaines fois, il est chargé mais pas avec la bonne version, que ça soit par une autre extension ou le template.
Le problème, c'est qu'il n'y a pas vraiment de système solide dans Joomla pour charger des librairies JS entres les différentes extensions sans conflits. C'est pourquoi la seule solution que nous avons trouvé, qui génère le moins de soucis, est de charger notre propre jQuery lorsque c'est nécessaire. Cela peut finir avec jQuery chargé plusieurs fois sur la page et jQuery Easy permet de remédier à cela dans ces cas-là.
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
10 years 2 months ago - 10 years 2 months ago #246447
by erickb
Replied by erickb on topic script async ? jquery 2 fois
merci pour la réponse
j'utilise extensions.joomla.org/extension/eorisis-jquery qui est vraiment tres complet
j'utilise extensions.joomla.org/extension/eorisis-jquery qui est vraiment tres complet
Last edit: 10 years 2 months ago by erickb.
Please Log in or Create an account to join the conversation.
10 years 3 weeks ago - 10 years 1 week ago #249643
by lionel75
Replied by lionel75 on topic script async ? jquery 2 fois
Pour répondre à la question : si les librairies utilisées par hikashop sont interdépendante alors oui cela peu poser problèmes .
Est ce que ces interdépendances sont documentées dans le documentation hikashop ?
De façon générale : pour moi quelque soit le type d extension ( plug in , module , component .), ces extensions sont modifiables et je hésiterais pas à supprimer tous les liens vers une libraire jquery si je sais que la version jquery définit au niveau de mon template est compatible avec toutes les extensions ayant besoin de jquery .
Tous ca est un probleme de namespace ( jquery1 et jquery2 , js3 et namespace4 , requirejs ) avec javascript , jquery , YUI et
Quelques informations en vracs :
Le seul moyen est de debugger le code javascript ( jquery ou jquery plugin ) coté client pour voir quelle est la partie du code qui bloque avec une version de jquery plus haute . Et c'est sur ....cela demande du temps.
Je me demande si async au niveau HTML tag "appel de fichier externe " a le même sens que async au niveau d 'une fonction javascript ?
Un CMS n est qu'un système de chargement de fichier ( require include) et j'ai trouvé toujours les informations a ce propos inexistantes dans la documentation joomla comme si ce qui ne fonctionne pas bien ne doit pas être documenté ... !!!! Le forum hikashop est la seule source d 'information que je trouve utile et de qualité ( le commentaire de @nicolas ici sur ce post en est encore la preuve ) par rapport au forum joomla officiel . Enfin j 'ai rarement consulté le forum dev de joomla donc je suis mal placé pour dire ça ..mais cela est mon ressenti .
Alors que l on est a la version joomla 3 !!! Enfin joomla est gratuit mais j'espère que les CMS payant gèrent ça bien et je n en suis pas sur car le "microsoft dll hell" n'est en fait que "version hell " ou "dependancy hell " ( voir ici et ici ) . dès que l on parle de gestion des versions tout devient plus compliqué !!!
Cordialement
Est ce que ces interdépendances sont documentées dans le documentation hikashop ?
De façon générale : pour moi quelque soit le type d extension ( plug in , module , component .), ces extensions sont modifiables et je hésiterais pas à supprimer tous les liens vers une libraire jquery si je sais que la version jquery définit au niveau de mon template est compatible avec toutes les extensions ayant besoin de jquery .
Tous ca est un probleme de namespace ( jquery1 et jquery2 , js3 et namespace4 , requirejs ) avec javascript , jquery , YUI et
Quelques informations en vracs :
- sync signifie bloquant la poursuite d'exécution du code tant que lo bjet subissant la fonction sync n'est par terminé
- une librairie n 'est pas e ntotalité async ou sync seul les appels de fonctions sont sync ou async souvent configurable
- les scripts ( content ou fichiers) sont chargés dans l ordre d' apparition dans la page sauf si defer( bug) et async(implemented ok) sont utilisés
- 2 async s utilise pour un lien vers un fichier script ne permet plus de prédire l ordre de chargement des 2 librairires dans le cas ou il y a une interdépendance
- DEL ->addScript( '******.js','text/javascript');
- <jdoc:include type="head" /> insère du javascript ( lien vers fichier ou code )
- je connaissais jQuery Easy et JB library mais pas pas eorisis . .
- Dans le joomla store il y a pour css: , js: , css/js : jsplant , js-css-control
Le seul moyen est de debugger le code javascript ( jquery ou jquery plugin ) coté client pour voir quelle est la partie du code qui bloque avec une version de jquery plus haute . Et c'est sur ....cela demande du temps.
Je me demande si async au niveau HTML tag "appel de fichier externe " a le même sens que async au niveau d 'une fonction javascript ?
Un CMS n est qu'un système de chargement de fichier ( require include) et j'ai trouvé toujours les informations a ce propos inexistantes dans la documentation joomla comme si ce qui ne fonctionne pas bien ne doit pas être documenté ... !!!! Le forum hikashop est la seule source d 'information que je trouve utile et de qualité ( le commentaire de @nicolas ici sur ce post en est encore la preuve ) par rapport au forum joomla officiel . Enfin j 'ai rarement consulté le forum dev de joomla donc je suis mal placé pour dire ça ..mais cela est mon ressenti .
nicolas wrote: Le problème, c'est qu'il n'y a pas vraiment de système solide dans Joomla pour charger des librairies JS entres les différentes extensions sans conflits.
Alors que l on est a la version joomla 3 !!! Enfin joomla est gratuit mais j'espère que les CMS payant gèrent ça bien et je n en suis pas sur car le "microsoft dll hell" n'est en fait que "version hell " ou "dependancy hell " ( voir ici et ici ) . dès que l on parle de gestion des versions tout devient plus compliqué !!!
Cordialement
Last edit: 10 years 1 week ago by lionel75.
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
9 years 10 months ago - 9 years 10 months ago #256687
by erickb
Replied by erickb on topic script async ? jquery 2 fois
Bonjour
je reviens la dessus car c'est vraiment un probleme de performances
est il possible pour hikashop d'avoir au moins tous les mootools (en attendant de les virer) asynchrones ? mootools-core.js et mootools-more.js ?
est ce qu'avec la version 2.6.4 on peut les virer ou un des deux ?
le script hikashopModifyQuantity est charge meme si on a aucune option de panier sur la page est il possible de ne le charger que si necessaire ?
peut on supprimer /media/com_hikashop/js/tooltip.js ?
merci
je reviens la dessus car c'est vraiment un probleme de performances
est il possible pour hikashop d'avoir au moins tous les mootools (en attendant de les virer) asynchrones ? mootools-core.js et mootools-more.js ?
est ce qu'avec la version 2.6.4 on peut les virer ou un des deux ?
le script hikashopModifyQuantity est charge meme si on a aucune option de panier sur la page est il possible de ne le charger que si necessaire ?
peut on supprimer /media/com_hikashop/js/tooltip.js ?
merci
Last edit: 9 years 10 months ago by erickb.
Please Log in or Create an account to join the conversation.
9 years 10 months ago #256714
by Jerome
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Replied by Jerome on topic script async ? jquery 2 fois
Bonjour,
1 - Cela est entièrement relatif au core de Joomla (voir au template) et non à HikaShop.
2 - Comme déjà expliqué à de très nombreuses reprise ; ne pas activer les fonctionnalités qui le demande fait que les fichiers ne sont pas inclus.. Rien de nouveau depuis des années !
3 - Non
4 - Comme pour le point 2 ; n'utilisez pas la fonctionnalité et vous n'avez pas la lib.. Mais de manière générale cela va être comme le point 3 : Non
Cordialement,
1 - Cela est entièrement relatif au core de Joomla (voir au template) et non à HikaShop.
2 - Comme déjà expliqué à de très nombreuses reprise ; ne pas activer les fonctionnalités qui le demande fait que les fichiers ne sont pas inclus.. Rien de nouveau depuis des années !
3 - Non
4 - Comme pour le point 2 ; n'utilisez pas la fonctionnalité et vous n'avez pas la lib.. Mais de manière générale cela va être comme le point 3 : Non
Cordialement,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Please Log in or Create an account to join the conversation.
Time to create page: 0.225 seconds