Bonjour
Je suis en train de fusionner et différer l'exécution de mes fichiers javascripts.
Je ne touche pas à Mootools/core/caption....c'est cassé sinon
Je touche au but, mais !
Voilà
J'ai commencé par mon module de slideshow qui appelait trois fichiers javascripts.
Initialement c'était :
jquery.mobile.customized.min.js
jquery.easing.1.3.js
camera.js (basé sur 1.9.1+)
Appelés respectivement dans cet ordre donc :
J'ai donc créé un fichier master.camera.js et copié collé les fichiers javascripts respectivement dans cet ordre dedans.
Puis modifié l'appel php en rajoutant l'attribut defer-->true :
Super, ca marche nickel.
Je me suis dit hop je vais continuer.
J'ai donc chopé mes fichiers.js du template et j'ai fait pareil.
Initialement j'avais :
Avant tout j'ai hebergé/créé le fichier jquery-1.8.1.min.js au lieu d'aller le chercher sur un autre serveur, nickel, sauf si je lui attribue defer ! (le slideshow est cassé)
ca ca marche :
ca ca marche pas (le slideshow est cassé) :
Ok donc j'ai essayé autrement, même logique que pour le slideshow, créé un fichier template.master.min.js, fichiers dans le même ordre d'appel
Toujours pareil, ca ca marche :
Ca ca marche pas (le slideshow est cassé) :
Après recherches il semblerait donc si j'ai bien compris que c'est une histoire de conflit entre librairies par rapport à $ ? J'ai essayé de mettre une autre simple ligne "jQuery.noConflict();" entre les fichiers à divers endroits de mes deux fichiers master.js mais pas de changements, j'ai du mal faire ou je m'y prends mal.
Je suis sûr que c'est une bricole c'est à deux doigts de le faire là...c'est juste quand je veux mettre defer que ca gatouille....bon mon site marche sans hein....mais j'aimerai bien y arriver.
Quelqu'un aurait une petite suggestion ? Merci
Je suis en train de fusionner et différer l'exécution de mes fichiers javascripts.
Je ne touche pas à Mootools/core/caption....c'est cassé sinon
Je touche au but, mais !
Voilà
J'ai commencé par mon module de slideshow qui appelait trois fichiers javascripts.
Initialement c'était :
jquery.mobile.customized.min.js
jquery.easing.1.3.js
camera.js (basé sur 1.9.1+)
Appelés respectivement dans cet ordre donc :
Code PHP:
$doc->addStyleDeclaration( $style );
if ($params->get('jQuery')) {$doc->addScript ('http://code.jquery.com/jquery-latest.pack.js');}
$doc->addScript($modURL . '/js/jquery.mobile.customized.min.js');
$doc->addScript($modURL . '/js/jquery.easing.1.3.js');
$doc->addScript($modURL . '/js/camera.js');
$js = "
Puis modifié l'appel php en rajoutant l'attribut defer-->true :
Code PHP:
$doc->addStyleDeclaration( $style );
if ($params->get('jQuery')) {$doc->addScript ('http://code.jquery.com/jquery-latest.pack.js');}
//$doc->addScript($modURL . '/js/jquery.mobile.customized.min.js');
//$doc->addScript($modURL . '/js/jquery.easing.1.3.js');
//$doc->addScript($modURL . '/js/camera.js');
$doc->addScript($modURL . '/js/master.camera.js', 'text/javascript', true);
$js = "
Je me suis dit hop je vais continuer.
J'ai donc chopé mes fichiers.js du template et j'ai fait pareil.
Initialement j'avais :
Code PHP:
// Load Js files
if(JFactory::getApplication()->get('jquery') == false) {
$doc->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js');
$doc->addScript(''.$tpath.'/js/jquery-noconflict.js', 'text/javascript', true);
JFactory::getApplication()->set('jquery', true);
}
$doc->addScript(''.$tpath.'/js/template.js','text/javascript', true);
ca ca marche :
Code PHP:
$doc->addScript(''.$tpath.'/js/jquery-1.8.1.min.js', 'text/javascript');
Code PHP:
$doc->addScript(''.$tpath.'/js/jquery-1.8.1.min.js', 'text/javascript', true);
Toujours pareil, ca ca marche :
Code PHP:
// Load Js files
if(JFactory::getApplication()->get('jquery') == false) {
//$doc->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js');
//$doc->addScript(''.$tpath.'/js/jquery-1.8.1.min.js', 'text/javascript');
//$doc->addScript(''.$tpath.'/js/jquery-noconflict.js', 'text/javascript', true);
$doc->addScript(''.$tpath.'/js/template.master.min.js');
JFactory::getApplication()->set('jquery', true);
}
//$doc->addScript(''.$tpath.'/js/template.js','text/javascript', true);
Code PHP:
// Load Js files
if(JFactory::getApplication()->get('jquery') == false) {
//$doc->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js');
//$doc->addScript(''.$tpath.'/js/jquery-1.8.1.min.js', 'text/javascript');
//$doc->addScript(''.$tpath.'/js/jquery-noconflict.js', 'text/javascript', true);
$doc->addScript(''.$tpath.'/js/template.master.min.js', 'text/javascript', true);
JFactory::getApplication()->set('jquery', true);
}
//$doc->addScript(''.$tpath.'/js/template.js','text/javascript', true);
Après recherches il semblerait donc si j'ai bien compris que c'est une histoire de conflit entre librairies par rapport à $ ? J'ai essayé de mettre une autre simple ligne "jQuery.noConflict();" entre les fichiers à divers endroits de mes deux fichiers master.js mais pas de changements, j'ai du mal faire ou je m'y prends mal.
Je suis sûr que c'est une bricole c'est à deux doigts de le faire là...c'est juste quand je veux mettre defer que ca gatouille....bon mon site marche sans hein....mais j'aimerai bien y arriver.
Quelqu'un aurait une petite suggestion ? Merci
Commentaire