2011-06-22 3 views
6

que realmente no tienen idea de lo que estoy haciendo mal aquí. No puedo hacer que Datejs analice correctamente "12:00 p.m.", sin embargo, parece funcionar bien en otras fechas. A continuación se muestra un clip desde el depurador Firefox:Datejs - Problema con 24:00

enter image description here

+1

Funciona bien para mí en Chrome ejecutando en la consola directamente en el sitio web de datejs – Matt

+0

Sí, eso funcionó para mí también, en realidad –

+0

¿Qué versión de DateJS usabas en el de arriba? – Matt

Respuesta

16

descargar la última versión de Datejs desde SVN no la versión en la sección "download".

+6

sip, que trabajó: http://datejs.googlecode.com/svn/trunk/build/date-en-US.js –

0

trate de envolver el código en un IIFE.

<!DOCTYPE html> 
<html> 
    <body> 
     <input type=text id=d onkeyup="parsedate()"> 
     </input> 
     <br> 
     <span id=output></span> 
     <script type="text/javascript" src="../../../static/js/date.js"></script> 
     <script> 
      (function() { 
        parsedate = function() { 
         var input = document.getElementById('d').value; 
         var output = document.getElementById('output'); 
         var d = Date.parse(input); 
         if (d !== null) { 
          output.innerHTML = d.toString(); 
         } else { 
          output.innerHTML = "------" 
         } 
        } 
       }()); 
     </script> 
    </body> 
</html> 

El IIFE siendo

(function(){ 
    //code 
}()); 

Lo que tengo curiosidad por saber qué es Firefox se comporta de esta manera. Sé que agregaron actualizaciones de seguridad hace unos años que evitan que sobrescriba las funciones de Date.prototype, pero ¿por qué un IIFE puede acceder a este alcance?