Javascript, xsl et xhtml

Javascript, xsl et xhtml - HTML/CSS - Programmation

Marsh Posté le 04-03-2005 à 09:49:19    

Bonjour,  
 
J'ai un problème avec l'insertion du marqueur xiti sur mon site internet.
Mon site est réalisé à partir de cocoon et j'utilise par défaut son serializer xhtml :
 
<map:serializer logger="sitemap.serializer.xhtml" mime-type="text/html; charset=iso-8859-1" name="xhtml" pool-grow="2" pool-max="200" pool-min="2" src="org.apache.cocoon.serialization.XMLSerializer">
<doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>  <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>  
<encoding>ISO-8859-1</encoding>
</map:serializer>
 
Le code xiti est inséré dans mon pied de page (xsl) comme suit :
 
<a href="http://www.xiti.com/xiti.asp?s=xxxxxx" title="Mesurez votre audience">
<script type="text/javascript"><![CDATA[
<!--
Xt_param = 's=xxxxxx&p=';
Xt_r = document.referrer;
Xt_h = new Date();
Xt_i = '<img width="39" height="25" border="0" ';
Xt_i += 'src="http://logv27.xiti.com/hit.xiti?'+Xt_param;
Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xt_s=screen;Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
document.write(Xt_i+'&ref='+Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$')+'" title="Analyse d\'audience">');
//-->]]>
</script>
<noscript>
audit et mesure d'audience visiteurs internet par <img width="39" height="25" src="http://logv27.xiti.com/hit.xiti?s=xxxxxx&amp;p=" alt="Analyse d'audience" />
</noscript></a>
 
Sur certaines de mes pages, le marqueur xiti apparait correctement. Le code source de ces pages apparait comme suit :
 
<a title="Mesurez votre audience" href="http://www.xiti.com/xiti.asp?s=xxxxxx"><script type="text/javascript">
<!--
Xt_param = 's=xxxxxx&p=';
Xt_r = document.referrer;
Xt_h = new Date();
Xt_i = '<img width="39" height="25" border="0" ';
Xt_i += 'src="http://logv27.xiti.com/hit.xiti?'+Xt_param;
Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xt_s=screen;Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
document.write(Xt_i+'&ref='+Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$')+'" title="Analyse d\'audience">');
//-->
</script>
<noscript>
audit et mesure d'audience visiteurs internet par <img alt="Analyse d'audience" src="http://logv27.xiti.com/hit.xiti?s=xxxxxx&p=" height="25" width="39"></noscript>
</a>
 
Sur d'autres pages, le marqueur n'est pas pris en compte. Pour ces pages, le code source est comme suit :
 
<a title="Mesurez votre audience" href="http://www.xiti.com/xiti.asp?s=xxxxxx"><script type="text/javascript">
&lt;!--
Xt_param = 's=xxxxxx&amp;p=';
Xt_r = document.referrer;
Xt_h = new Date();
Xt_i = '&lt;img width="39" height="25" border="0" ';
Xt_i += 'src="http://logv27.xiti.com/hit.xiti?'+Xt_param;
Xt_i += '&amp;hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)&gt;=4)
{Xt_s=screen;Xt_i+='&amp;r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
document.write(Xt_i+'&amp;ref='+Xt_r.replace(/[&lt;&gt;"]/g, '').replace(/&amp;/g, '$')+'" title="Analyse d\'audience"&gt;');
//--&gt;
</script><noscript>
audit et mesure d'audience visiteurs internet par <img alt="Analyse d'audience" src="http://logv27.xiti.com/hit.xiti?s=xxxxxx&amp;p=" height="25" width="39" /></noscript></a>
 
J'ai remarqué que pour les pages ne fonctionnant pas, j'ai au début de la page les lignes suivantes :
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
Pour celles fonctionnant, je n'ai pas ces lignes.
 
Quel peut être le problème ?
 
Merci pour votre aide.
 
Anthony

Reply

Marsh Posté le 04-03-2005 à 09:49:19   

Reply

Marsh Posté le 04-03-2005 à 09:51:37    

Oui, en XHTML pur, pas de '<!--' dans les <script> ou <style> ;) Il faut des sections CDATA. Mais le mieux est que tu vires ces script (merdiques), et que tu les mettent dans un fichier séparé.
Aussi, ils utilisent un document.write qui date d'il y a 10 ans

Reply

Marsh Posté le 04-03-2005 à 10:10:15    

Bonjour,
Le marqueur xiti figurant dans mon fichier xsl comporte bien une section CDATA incluant tout le script.
 

Reply

Marsh Posté le 04-03-2005 à 10:13:25    

Bouge-le dans un fichier séparé, ce sera le mieux ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed