Bonjour Cédric,
J'ai installé cette fonction mais #LOGIN_PUBLIC me pose toujours problème.
J'utilise jQuery 1.7.2 livré avec SPIP 3.0.17 [21515]
et jQl.min.js v1.2.0 jQl/jQl.min.js at master · Cerdic/jQl · GitHub
J'avais ce message d'erreur avant l'installation de la fonction
compresseur_ecrire_balise_js:
ReferenceError: jQuery is not defined
J'ai maintenant mes scripts externes chargés comme ceci:
<script type='text/javascript'>
var jQl={...};
jQl.loadjQ('local/cache-js/ab7170fbf89b82bb348dab05f60222b2.js?1415609147')
</script>
Mais pour le jQuery inline de #LOGIN_PUBLIC apparait dorénavant cette
erreur:
TypeError: $(...).after is not a function
$('#password')
Comme tu précises bien que le formulaire de login spip marche avec ce
système je me demandais si tu n'avais pas fait un truc en plus.
Cédric Morin wrote:
Hello,
J'ai pas encore eu le temps de packager ça par défaut dans le
plugins-dist/compresseur de SPIP, avec ls options de configuration qui
vont bien, mais tu peux avantageusement le mettre en place facilement dans
ton squelettes/mes_options.php avec le code suivant (et en mettant le
fichier jQl.min.js dans le même dossier) :
function compresseur_ecrire_balise_js(&$flux, $pos, $src, $comments = ""){
if (file_exists($src) AND $t = @filemtime($src))
$src = "$src?$t";
if (test_espace_prive()){
$comments .= "<script type='text/javascript'
src='$src'></script>";
} else {
lire_fichier(basename(dirname(__FILE__)) . "/jQl.min.js",
$jQl); $comments .= "<script
type='text/javascript'>\n$jQl\njQl.loadjQ('$src')\n</script>";
}
$flux = substr_replace($flux, $comments, $pos, 0);
return $flux;
}
Comme jQl intercepte et met en file les appels du type
jQuery(function(){}) et les jQuery.getScript(...,callback), tu peux
réussir à gerer à peu près proprement les cas avec du code inline.
Notamment le formulaire de login de SPIP fonctionne sans soucis, et pas
mal de plugin aussi.
J'utilise jQl sur des sites en Prod sans soucis, mais c'est sur que si on
lache ça sur un site dont les webmestres sont suceptibles d'ajouter
n'importe quel plugin on ne peut pas garantir à 100% le risque d'un
éventuel js inline qui casse.
Cédric
Le 7 nov. 2014 à 19:27, Alexis <alexis.pellicier@nds.k12.tr> a écrit :
Bonjour,
Par optimisation j'entends améliorer le ressenti des visiteurs du site
notamment ceux qui visitent le site depuis leur téléphone mobile ou leur
tablette avec une connexion pas terrible.
Le problème des javascripts en général et de Jquery en particulier c'est
que pendant que l'explorateur les charge il ne charge rien d'autre d'où
l'intérêt de les mettre après le contenu intéressant, juste avant </body>
Sur l'optimisation web, pas mal d'info ici:
https://developers.google.com/speed/pagespeed/insights/
Yahoo fait partie de la famille de marques Yahoo.
Bonjour,
Le 07/11/2014 16:37, Alexis a écrit :
Je cherche à déporter la balise #INSERT_HEAD en fin de squelette juste
avant </body> dans un soucis d'optimisation.
Excuse-moi mais je ne comprends pas bien où serait l'optimisation.
#INSERT_HEAD est faite pour insérer du code entre <head> et </head>, pas
entre <body> et </body>...
CM
----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone