IE8:对象不支持此属性或方法(日期函数)

时间:2013-08-05 22:00:16

标签: javascript jquery validation internet-explorer-8 jquery-validate

我收到的错误只出现在伟大的IE8上,它指向以下函数,特别是行:return (expDate.getTime() > Date.now());

$.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.");

我不确定是什么导致这种情况,我对开发旧版浏览器相当新。这在FF,IE10,Chrome,Safari中运行良好。

非常感谢任何帮助。

由于

4 个答案:

答案 0 :(得分:10)

IE8中不支持Date.now()(见下表):

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now

new Date()应该为您提供当前日期的日期对象。

答案 1 :(得分:7)

使用事实 valueOf 日期 ms ..

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

答案 2 :(得分:3)

IE 8不支持Date.now。将其实施为:

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

答案 3 :(得分:0)

我的通灵调试技巧告诉我你正在使用jQuery 2.0,它不支持IE8。

您需要使用1.10。