我怎么知道浏览器是否支持<input type ='date'>

可能重复:
HTML5types检测和插件初始化

<input type=date> 

应该用一个(可选的)用户代理提供的datepicker创build一个input,但是还没有得到广泛的支持,所以我们使用了一个jQuery UI Datepicker。 我们如何才能允许浏览器使用自己的dateselect器,只有在浏览器没有这样的事情时,才能回到jQuery UI上呢?

目前我认为只有Opera有内置的dateselect器,但对Opera的testing显然是不好的。 有没有一种方法可以检测到这个function(如果它可以以便携的方式)?

谢谢

下面的方法检查一些inputtypes是否被大多数浏览器支持:

 function checkInput(type) { var input = document.createElement("input"); input.setAttribute("type", type); return input.type == type; } 

但是,正如simonox在评论中指出的那样,一些浏览器(如Android股票浏览器)假装它们支持某种types(如date),但是它们不提供dateinput的UI。 所以simonox使用在date字段中设置非法值的技巧改进了实现。 如果浏览器清理这个input,它也可以提供dateselect器!

 function checkDateInput() { var input = document.createElement('input'); input.setAttribute('type','date'); var notADateValue = 'not-a-date'; input.setAttribute('value', notADateValue); return (input.value !== notADateValue); }