Javascript Modernizer.Load的未捕获类型错误

Javascript Modernizer.Load的未捕获类型错误,javascript,jquery,datepicker,modernizr,Javascript,Jquery,Datepicker,Modernizr,我正在尝试让下面的代码工作,允许我使用日期选择器。虽然我以前有过这种工作方式的变化,但现在我无法在恢复后使其工作 我在“Modernizr.load”行下面得到错误“uncaughttypeerror:undefined不是函数” <script> Modernizr.load({ test: Modernizr.inputtypes.date, nope: ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jqu

我正在尝试让下面的代码工作,允许我使用日期选择器。虽然我以前有过这种工作方式的变化,但现在我无法在恢复后使其工作

我在“Modernizr.load”行下面得到错误“uncaughttypeerror:undefined不是函数”

    <script>
Modernizr.load({
  test: Modernizr.inputtypes.date,
  nope: ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js', 'jquery-ui.css'],
    complete: function () {
        if (window.jQuery) {
            jQuery('input[type=date]').datepicker({
                dateFormat: 'yy-mm-dd'
            });
        }
    }
});

现代化负荷({
测试:Modernizer.inputtypes.date,
否:['http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js“,”jquery ui.css'],
完成:函数(){
if(window.jQuery){
jQuery('input[type=date]')。日期选择器({
日期格式:“yy-mm-dd”
});
}
}
});


关于此错误的原因有什么建议吗?

未捕获类型错误:未定义不是函数
表示您试图将某个函数作为不存在的函数调用。在本例中,您通过引用调用多个函数

modernizer.load
jQuery().datepicker
。这意味着
modernizer.load
都不存在,在这种情况下,请确保。如果问题是由datepicker引起的,那么您需要检查开发人员工具网络日志,看看是否

  • jqueryui正在下载
  • 正在正确解析它(控制台中没有为它抛出任何错误)
  • 另外,jQuery1.4已经有4年半的历史了!如果可以的话,试着使用一个更新的版本,在以后的版本中有大量的速度改进

    Modernizr.js的开发版本不包括
    load()
    。要获得此函数,您需要使用额外部分中的和检查加载选项

    现代化团队给出的理由:

    我们不包括它,因为它实际上是单独维护的 图书馆名为yepnope-你可以在

    详情如下:

    我刚刚在您的中粘贴了一个简单的Modernizer自定义版本,它似乎适用于firefox:

    但是,我必须改变加载jquery ui的方式:只需将该cdn替换为所需的主题:

        nope: [
          'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js',
          'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js', 
          'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css'],
        ....
    
    Mins是对的,这里是定制版本:


    我已确保我拥有最新的Modernizer和jQuery 1.9.1,并且所有内容都正常加载。控制台现在说:uncaughttypeerror:undefined不是函数1027:29 Modernizr.load.complete 1027:29 c Modernizr-2.8.1.js:845 h Modernizr-2.8.1.js:845 B Modernizr-2.8.1.js:845 Modernizr.load Modernizr-2.8.1.js:846(匿名函数)我怎么理解它?这是否与Modernizer无法处理datepicker测试有关?这可能会帮助其他人。搜索
    Modernizr.mq
    的未捕获TypeError使我来到这里。我没有意识到
    mq()
    媒体查询并不总是在脚本中,因此更新到最新版本的Moderinzr修复了它。注意:Moderinzr的自定义生成器在回答此问题后进行了改进。我不确定这是否仍然可行。但也许有人能帮我照一照