如果颜色输入类型可用,则进行Modinizer测试

时间:2015-04-10 17:25:40

标签: javascript

在我们的应用程序中,我们有几个html5颜色输入,用户可以选择背景颜色等。我只是在ie测试,并注意到颜色选择器不想工作,不支持。

为了解决这个问题,我发现了一个垫片,并将其插入Modinizer。但是我似乎无法弄清楚如何在负载中测试它并且无法找到任何示例。

我的代码看起来像这样

 {
  test: //window.Color ??,
  nope: ['spectrum.js', 'spectrum.css']
}

2 个答案:

答案 0 :(得分:1)

在modernizr网站上,它是clearly stated

  

HTML5为's type属性引入了13个新值。   它们如下:搜索,电话,网址,电子邮件,日期时间,日期,月份,   周,时间,日期时间 - 本地,数字,范围,颜色。这些类型可以   启用原生日期选择器,颜色选择器,URL验证等。如果   浏览器不支持给定类型,它将呈现为文本   领域。 Modernizr无法检测日期输入创建日期选择器,   颜色输入会创建一个颜色选择器,依此类推 - 它会检测到它   输入值根据规范进行清理。如果是   WebKit,我们已收到确认不会进行消毒的确认   在没有UI小部件的情况下添加。

所以,不幸的是,modernizr并没有给你任何关于html5输入的线索。

答案 1 :(得分:0)

正如Cihad Turhan在his answer中告诉你的那样,mod er nizr无法检测到此功能。

但是,您可以通过检查此类输入的值来自行测试 支持时的默认值为“#000000”,如果不支持,则该值为空字符串。

//load event is commented 'cause it won't fire in this empty snippet
//document.addEventListener('load', function(){

  var input = document.createElement('input');
 input.setAttribute('type', "color");

 if (input.value === "") {
  // same as input.value !== "#000000"
    applyYourShimHere();
    }

//  }, false)

function applyYourShimHere() {
  alert("your browser doesn't support color input");
  }