Skip to content

Instantly share code, notes, and snippets.

@tech-nova
Last active August 29, 2015 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tech-nova/85ce2dd05e3596571369 to your computer and use it in GitHub Desktop.
Save tech-nova/85ce2dd05e3596571369 to your computer and use it in GitHub Desktop.
Utilisation de jQl dans SPIP via mes_options
extrait de http://thread.gmane.org/gmane.comp.web.spip.zone/36819/focus=36825
-----------------------------------------------------------------------------
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) :
<?php
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.
Cedric
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment