7

Ricevo un errore che appare solo sul grande IE8, che punti alla seguente funzione, in particolare la linea: return (expDate.getTime() > Date.now());IE8: L'oggetto non supporta questa proprietà o metodo (funzione Data)

$.validator.addMethod("checkDocExpiry",function(value) { 
    var driverLicExp = ($('#drivers-license-expiration').val()) ? $('#drivers-license-expiration').val() : ''; 
    if (driverLicExp != ''){ 
     var expDate = new Date(driverLicExp); 
     return (expDate.getTime() > Date.now()); 
    }else{ 
     return (true); 
    } 
}, "Your driver's license has expired."); 

Non sono sicuro di cosa causerebbe questo, sono abbastanza nuovo nello sviluppo per i browser più vecchi. Funziona bene in FF, IE10, Chrome, Safari.

Qualsiasi aiuto sarebbe molto apprezzato.

Grazie

+0

È una data dal selettore di date dell'interfaccia utente jquery. In questo specifico test: '08/13/2013' – Neil

+0

-non è il tuo problema immediato, ma non devi fare affidamento sull'oggetto Date per analizzare stringhe casuali come date, in particolare le date come regionali specifiche di quello nel tuo commento. – RobG

risposta

0

Le mie capacità di debug psichiche mi dicono che si sta utilizzando jQuery 2.0, che non supporta IE8.

È necessario utilizzare 1.10.

+1

jquery-1.8.3.min.js – Neil

7

Shim sfruttando il fatto valueOf un Data è ms ..

if (!Date.now) Date.now = function() {return +new Date();}; 
2

IE 8 non supporta Date.now. Implementalo come:

if(!Date.now) { Date.now = function(){ return new Date().getTime();};} 
Problemi correlati