2011-07-25 6 views
0

J'ai un code Javascript sur ma page qui compte le temps écoulé depuis que l'utilisateur s'est connecté.
J'utilise le script de here
La chose est sur le Chrome, le script fonctionne parfaitement, mais sur IE ou FF ça ne marchera pas.
Y at-il de toute façon que je peux le faire fonctionner sur les 3 navigateurs?
Merci!Javascript fonctionne sur Chrome, mais pas sur IE ou FF

enter image description here

Mon code:
Javascript: (le %% DATE %% est remplacé par une chaîne comme: 2011-07-25 14:12:59

<script type="text/javascript"> 
function parse_date(string) { 
    var date = new Date(); 
    var parts = String(string).split(/[- :]/); 

    date.setFullYear(parts[0]); 
    date.setMonth(parts[1] - 1); 
    date.setDate(parts[2]); 
    date.setHours(parts[3]); 
    date.setMinutes(parts[4]); 
    date.setSeconds(parts[5]); 
    date.setMilliseconds(0); 

    return date; 
} 

//$(function() { 
// var austDay = new Date(); 
// austDay = new Date("%%DATE%%"); 
// austDay.setSeconds(austDay.getSeconds()+3); 
// $('#time_square').countdown({since: austDay, format: 'MS', compact: true}); 
//}); 

function set_time() { 
    var austDay = new Date(); 
    austDay = new Date("%%DATE%%"); 
    austDay.setSeconds(austDay.getSeconds()+3); 
    $('#time_square').countdown({since: austDay, format: 'MS', compact: true}); 
}; 

function validate() 
{ 
    var retval = false; 
    for (var i=0; i < document.form.r.length; i++) 
    { 
    if (document.form.r[i].checked) 
    { 
     retval = true; 
    } 
    } 

    return retval; 
} 

function set_interval() { 
setInterval("set_time()",100); 
} 
</script> 

HTML:

<body bgcolor="#000000" topmargin="0" onload="set_interval()"> 

<table width="166" border="0"> 
    <tr> 
    <td width="45"><font color="#FFFFFF" size="5px">Time:</font></td> 
    <td width="111"><div id="time_square"></div></td> 
    </tr> 
</table> 
+0

quelle erreur est IE dire? et qu'est-ce que c'est que ça? "austDay = new Date (" %% DATE %% ");" – SergeS

+0

J'ai ajouté une capture d'écran de l'erreur. austDay est défini comme étant le datetime lorsque l'utilisateur s'est connecté. Le %% DATE %% est remplacé par le serveur avec la chaîne datetime. –

+0

il doit y avoir une notification d'erreur dans IE, ou utiliser Firebug dans Firefox - mais il hing il sera au format date, essayez d'y mettre manuellement la date - par exemple "new Date (2011, 2-1,10,10,0, 0) " – SergeS

Répondre

0

Évitez d'utiliser setFullYear Bien que set/getYear soit déprécié, la plupart d'entre eux donnent des erreurs

Questions connexes