[spip-dev] [2.1.1] Double insertion de JS par #INSERT_HEAD

Bonjour,

Dans un squelette inclus, j'ai :
    <link rel="icon" type="image/png" href="#URL_PAGE{favicon.png}" />
    <link rel="shortcut icon" type="image/x-icon" href="#URL_PAGE{favicon.ico}" />
    #INSERT_HEAD_CSS

    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/global.css}" media="screen" />
    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/coquille.css}" media="screen" />
    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/print.css}" media="print" />
    <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="#CHEMIN{css/ie.css}" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" type="text/css" href="#CHEMIN{css/ie7.css}" media="screen" /><![endif]-->

    #INSERT_HEAD
  </head>

Le code source généré est :
    <link rel="icon" type="image/png" href="http://sigesaqi.brgm-rec.fr/spip.php?page=favicon.png" />

    <link rel="shortcut icon" type="image/x-icon" href="http://sigesaqi.brgm-rec.fr/spip.php?page=favicon.ico" />
    <link rel='stylesheet' media='all' href='local/cache-css/f3f12e4ca0a19e605846f496e0781b6c.css' type='text/css' />
<link rel='stylesheet' media='print' href='local/cache-css/d1960ec5910e978aba6f2592e26c94e3.css' type='text/css' />

    <link rel='stylesheet' media='screen' href='local/cache-css/896144d9291f95f1bb05cfaac65a51f3.css' type='text/css' />

    <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="plugins/squelette_siges/css/ie.css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" type="text/css" href="plugins/squelette_siges/css/ie7.css" media="screen" /><![endif]-->

<script src="prive/javascript/jquery.js" type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js" type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
<!-- insert_head -->
<script src="prive/javascript/jquery.js" type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js" type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
<!-- insert_head --><script src="extensions/indispensables/boutonstexte/boutonstexte.js" type="text/javascript"></script>

<script type="text/javascript"><!--
  var boutonstexte = new boutonsTexte({
    'selector':'#insideMainCol .contentBlock',
    'imgPath':'extensions/indispensables/boutonstexte/images',
    'txtOnly':'',
    'txtBackSpip':'Retour \\u00e0 la page compl\\u00e8te',
    'txtSizeUp':'Augmenter police',
    'txtSizeDown':'Diminuer police'
  });
//-->
</script >
<!-- Debut header du Couteau Suisse -->
<script src="extensions/indispensables/couteau_suisse/outils/jquery.scrollto.js" type="text/javascript"></script>
<script src="extensions/indispensables/couteau_suisse/outils/jquery.localscroll.js" type="text/javascript"></script>
<script type="text/javascript"><!--
var cs_prive=window.location.pathname.match(/\/ecrire\/$/)!=null;
jQuery.fn.cs_todo=function(){return this.not('.cs_done').addClass('cs_done');};
function lancerlien(a,b){ x='ma'+'ilto'+':'+a+'@'+b; return x; }
function soft_scroller_init() { if(typeof jQuery.localScroll=="function") jQuery.localScroll({hash: true}); }
var cs_init = function() {
  glossaire_init.apply(this);
  jQuery('span.spancrypt', this).attr('class','cryptOK').html('&#6'+'4;');
  jQuery("a["+cs_sel_jQuery+"title*='..']", this).each(function () {
    this.title = this.title.replace(/\.\..t\.\./,'[@]');
  });
  soft_scroller_init.apply(this);
}
if(typeof onAjaxLoad=='function') onAjaxLoad(cs_init);
if(window.jQuery) {
var cs_sel_jQuery=typeof jQuery(document).selector=='undefined'?'@':'';
var cs_CookiePlugin="http://sigesaqi.brgm-rec.fr/prive/javascript/jquery.cookie.js";
jQuery(document).ready(function(){
  cs_init.apply(document);
});
}
// --></script>

<style type="text/css">
/* fr */
  q:lang(fr):before { content: "\00AB\A0"; }
  q:lang(fr):after { content: "\A0\00BB"; }
  q:lang(fr) q:before { content: "\201C"; }
  q:lang(fr) q:after { content: "\201D"; }
  q:lang(fr) q q:before { content: "\2018"; }
  q:lang(fr) q q:after { content: "\2019"; }
  /* IE */
  * html q { font-style: italic; }
  *+html q { font-style: italic; }
sup.typo_exposants { font-size:75%; font-variant:normal; vertical-align:super; }
a.cs_glossaire:after {display:none;}
span.spancrypt {background:transparent url(http://sigesaqi.brgm-rec.fr/extensions/indispensables/couteau_suisse/img/mailcrypt/leure.gif) no-repeat scroll 0.1em center; padding-left:12px; text-decoration:none;}
</style>
<link rel="stylesheet" href="http://sigesaqi.brgm-rec.fr/extensions/indispensables/couteau_suisse/outils/glossaire.css" type="text/css" media="projection, screen" />
<script type="text/javascript" src="http://sigesaqi.brgm-rec.fr/extensions/indispensables/couteau_suisse/outils/glossaire.js"></script><!-- Fin header du Couteau Suisse -->

<script src="extensions/indispensables/mediabox/javascript/jquery.colorbox.js?1277373198" type="text/javascript"></script>
<script src="extensions/indispensables/mediabox/javascript/spip.mediabox.js?1277373198" type="text/javascript"></script><script type="text/javascript">/* <![CDATA[ */
var box_settings = {tt_img:true,sel_g:"#documents_portfolio a[type='image/jpeg'],#documents_portfolio a[type='image/png'],#documents_portfolio a[type='image/gif']",sel_c:".mediabox",trans:"elastic",speed:"200",ssSpeed:"2500",maxW:"90%",maxH:"90%",minW:"400px",minH:"",str_ssStart:"Diaporama",str_ssStop:"Arrêter",str_cur:"{current}/{total}",str_prev:"Pr&eacute;c&eacute;dent",str_next:"Suivant",str_close:"Fermer",splash_url:""};
if (window.jQuery) (function($){ if(typeof onAjaxLoad == "function") onAjaxLoad(mediaboxInit); $(mediaboxInit); })(jQuery);
/* ]]> */</script>

<script type='text/javascript' src='extensions/indispensables/saisies/javascript/saisies.js'></script>

<link rel='stylesheet' media='projection, screen, tv' href='local/cache-css/d17703a5a54066a9acef5e86d2b749bb.css' type='text/css' />

  <link rel=‘stylesheet’ href=‘http://sigesaqi.brgm-rec.fr/prive/spip_admin.css’ type=‘text/css’ />
<link rel=‘stylesheet’ href=‘http://sigesaqi.brgm-rec.fr/plugins/squelette_siges/spip_admin_perso.css’ type=‘text/css’ />

<link rel=“stylesheet” href=“extensions/indispensables/crayons/crayons.css” type=“text/css” media=“all” />
<script type=“text/javascript”>/* <![CDATA[ */
  var cr = document.createElement(‘script’);
  cr.type = ‘text/javascript’; cr.async = true;
  cr.src = ‘http://sigesaqi.brgm-rec.fr/spip.php?page=crayons.js’;
  cr.text = “startCrayons();”;
  var s = document.getElementsByTagName(‘script’)[0];
  s.parentNode.insertBefore(cr, s);

  var configCrayons;
  function startCrayons() {
     configCrayons = new cQuery.prototype.cfgCrayons({"imgPath":"extensions\/indispensables\/crayons\/images","droits":"*","dir_racine":"","self":"Raccourcis-Typographiques-de-SPIP.html","txt":{"error":"Désolé, copiez\/collez vos changements et recommencez","sauvegarder":""},"img":{"searching":{"txt":"Veuillez patienter..."},"crayon":{"txt":"Éditer"},"edit":{"txt":"Éditer tout"},"img-changed":{"txt":"Déjà modifié"}},"cfg":{"msgNoChange":false,"msgAbandon":false,"filet":false,"yellow_fade":false,"clickhide":false}});
     ( window.jQuery ? jQuery : cQuery )(document).ready(cQuery.fn.crayonsstart);
     // cQuery.ready() plante le jQuery.ready() sous MSIE
  }
/* ]]> */</script><script type="text/javascript">
<!--
(function($){
$(document).ready(function(){
  /* Ajouter une barre porte plume sur les crayons */
  function barrebouilles_crayons(){
    if (typeof($.fn.barre_outils) == 'function') {
      $('.formulaire_crayon textarea.crayon-active').barre_outils('edition');
    }
  }
  barrebouilles_crayons();
  onAjaxLoad(barrebouilles_crayons);
});
})(jQuery);
-->
</script>

Il y a donc 2 fois l'insertion de :
<script src="prive/javascript/jquery.js" type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js" type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
<!-- insert_head -->

Si j'active la compression, c'est pire : le script de boutonstexte est exécuté 2 fois sur la page.

Plugins et Lames du Couteau Suisse installés :
Composed-By: SPIP 2.1.1 @ www.spip.net + images(1.0.1), bando(1.1.2), boutonstexte(0.3.2), cfg(1.15.1), couteau_suisse(1.8.21.01), crayons(1.8.0), forms(0.306), fulltext(0.3), queue(0.4.5), mediabox(0.6.3), nospam(0.8), notifications(0.5.3), previsu_redac(1.0), saisies(1.7.6), spip_bonux(2.2.2), msie_compat(1.0), porte_plume(1.7.2), safehtml(1.3.7), vertebres(1.0), noie(1.2), skeleditor(2.0.0), compresseur(1.0.1), acronymes(0.12), typoenluminee(3.1.3), gestdoc(1.3.5), ppp(1.0.2), accessibilite(0.4)

X-Outils-CS: boites_privees, auteurs, citations_bb, decoration, typo_exposants, guillemets, glossaire, mailcrypt, soft_scroller, insertions, corbeille, spip_ecran

Visible ici : sigesaqi(point)brgm-rec(point)fr/Raccourcis-Typographiques-de-SPIP.html?var_mode=calcul

-- RealET

Cela marche parfaitement dans SPIP, il y a de multiples squelettes qui fonctionnent comme cela.
Il y a donc un plugin qui te mets le bazar (non non, ne suivez pas mon regard), ou une seconde occurence de #INSERT_HEAD quelque part

Mais côté SPIP, aucun bug sur ce sujet.

Cédric

Tu as deux fois ces lignes:
<script src="prive/javascript/jquery.js" type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js" type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>

Quand tu enlèves la balise de ton inclusion tu as encore le problème? Il doit y avoir un #INSERT_HEAD qui traine dans le squelette principal, non?

Bernard

RealET a écrit :

* cedric.morin@yterium.com tapuscrivait, le 30/07/2010 12:15:

Bonjour,

Dans un squelette inclus, j'ai :
    <link rel="icon" type="image/png" href="#URL_PAGE{favicon.png}" />
    <link rel="shortcut icon" type="image/x-icon" href="#URL_PAGE{favicon.ico}" />
    #INSERT_HEAD_CSS

    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/global.css}" media="screen" />
    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/coquille..css}" media="screen" />
    <link rel="stylesheet" type="text/css" href="#CHEMIN{css/print.css}" media="print" />
    <!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="#CHEMIN{css/ie.css}" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" type="text/css" href="#CHEMIN{css/ie7.css}" media="screen" /><![endif]-->

    #INSERT_HEAD
  </head>
...
Il y a donc 2 fois l'insertion de :
<script src="prive/javascript/jquery.js" type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js" type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js" type="text/javascript"></script>
<!-- insert_head -->

Cela marche parfaitement dans SPIP, il y a de multiples squelettes qui fonctionnent comme cela.
Il y a donc un plugin qui te mets le bazar (non non, ne suivez pas mon regard), ou une seconde occurence de #INSERT_HEAD quelque part

Dans tout le squelette, il n'y a qu'une fois #INSERT_HEAD
Je vais regarder du côté de ton regard (Couteau Suisse, au hasard)

Mais côté SPIP, aucun bug sur ce sujet.

Merci.

-- RealET

Bonjour,

je suppose que tu as vérifié que #INSERT_HEAD n'était pas dans un
squelette qui était appelé deux fois... et en dehors d'une BOUCLE.

Bonne journée
Grégoire

* Grégoire tapuscrivait, le 30/07/2010 14:47:

* RealET tapuscrivait, le 30/07/2010 14:28:

* cedric.morin@yterium.com tapuscrivait, le 30/07/2010 12:15:

Bonjour,

Dans un squelette inclus, j'ai :
<link rel="icon" type="image/png" href="#URL_PAGE{favicon.png}" />
<link rel="shortcut icon" type="image/x-icon"
href="#URL_PAGE{favicon.ico}" />
#INSERT_HEAD_CSS

<link rel="stylesheet" type="text/css" href="#CHEMIN{css/global.css}"
media="screen" />
<link rel="stylesheet" type="text/css"
href="#CHEMIN{css/coquille..css}" media="screen" />
<link rel="stylesheet" type="text/css" href="#CHEMIN{css/print.css}"
media="print" />
<!--[if lt IE 7]><link rel="stylesheet" type="text/css"
href="#CHEMIN{css/ie.css}" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" type="text/css"
href="#CHEMIN{css/ie7.css}" media="screen" /><![endif]-->

#INSERT_HEAD
</head>
...
Il y a donc 2 fois l'insertion de :
<script src="prive/javascript/jquery.js"
type="text/javascript"></script>

<script src="prive/javascript/jquery.form.js"
type="text/javascript"></script>

<script src="prive/javascript/ajaxCallback.js"
type="text/javascript"></script>
<!-- insert_head -->

Cela marche parfaitement dans SPIP, il y a de multiples squelettes qui
fonctionnent comme cela.
Il y a donc un plugin qui te mets le bazar (non non, ne suivez pas mon
regard), ou une seconde occurence de #INSERT_HEAD quelque part

Dans tout le squelette, il n'y a qu'une fois #INSERT_HEAD
Je vais regarder du côté de ton regard (Couteau Suisse, au hasard)

Mais côté SPIP, aucun bug sur ce sujet.

Merci.

Bon, j'étais responsable sur l'introduction de #INSERT_HEAD_CSS dans ...
... Boutons Texte

Corrigé par Connexion · GitLab

L'honneur du CS est sauf !

-- RealET

Cédric, toujours aussi gamin...
Pat