|
chrbar
| Inscrit le: 03 Sep 2008 |
| Messages: 1 |
|
|
 |
| Posté le: Mer 03 Sep 2008, 4:58 pm |
|
 |
 |
 |
 |
Bonjour,
J'essaye d'utiliser le script ci-dessous pour afficher un compteur qui passe de page en page, comme sur la page:
http://www.ensembleverslavenir.ca/fr/accueil/
Mais j'ai une erreur sous IE7, alors que cela fonctionne très bien sous IE6, Firefox (1, 2 et 3), Safari (2 et 3) et Opera (9).
Sous IE7, cela fonctionne correctement quand on ouvre une nouvelle page et que l'on passe d'une page à une autre, mais cela arrête de fonctionner quand on ouvre la page dans un nouvel onglet ou dans une nouvelle page via le bouton de droite de la souris sur un lien, le compteur ne fonctionne plus.
Cela peut venir d'un conflit avec les autres scripts présent dans la page?
J'ai activé les débogages de scripts dans IE, et j'obtiens cette erreur:
A Runtime Error has occurred.
Do you wish to Debug?
Line: 243
Error: 'document.getElementById(...)' is null or not an object.
La ligne concernée est:
document.getElementById("counter").innerHTML = r2(sTotal*2.91);
Le script est:
<script language="JavaScript" type="text/javascript">
var sTotal = 0;
if (lire_cookie('compteur'))
sTotal = parseFloat(lire_cookie('compteur'));
function gazCount(start){
sTotal=sTotal+(0.1);
document.getElementById("counter").innerHTML = r2(sTotal*2.91);
document.cookie="compteur=" + sTotal;
setTimeout("gazCount();", 100);
}
function r2(n){
ans = n * 1000
ans = Math.round(ans /10) + ""
while (ans.length < 3) {ans = "0" + ans}
len = ans.length
ans = ans.substring(0,len-2) + "." + ans.substring(len-2,len)
return ans
}
function lire_cookie(nom) {
var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen){
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return arguments_cookies(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;
}
return false;
}
function arguments_cookies(offset){
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
setTimeout('gazCount()', 100);
</script>
Seriez-vous comment corriger ce problème?
Merci beaucoup
Chris
|
|
|