摘要:是一个非常好的库,它可以完成对和的特性检测。关于其介绍,请戳到目前为止,这是我收集的特性检测的代码列表。
随着HTML 5的流行,现在HTML 5占据了主要的市场份额,HTML 5增加了很多的新功能,这些新功能可以让Web体验变得更好。大多数特性在现代的主流浏览器中获得了支持,因此我们可以放心使用这些新特性来增加Web体验。但是,当有新版本的浏览器发布时,我们不要忘记一些旧版本或者老的浏览器。
目前的另外一个事实是,用户想用旧版本的浏览器来支持新特性。因此建立的产品必须是跨浏览器的,而我们唯一能做的就是HTML5特性检测,来确保指定特性被浏览器支持时才执行代码。
Modernizr是一个非常好的JS库,它可以完成对HTML 5和CSS 3的特性检测。默认情况下,modernizr会对所有特性进行检测(当然可以自定义),但如果你只想检测某一个特定功能而不像引入整个JS库,那你就得把代码放在正确的位置。在这篇文章中,我们将会看到如何使用原生的js和modernizr来检测HTML 5 的特性。
Canvas// JS return !!document.createElement("canvas").getContext; // Modernizr if (Modernizr.canvas) { }Video
// JS return !!document.createElement("video").canPlayType; // Modernizr if (Modernizr.video) { }Local Storage
// JS return "localStorage" in window && window["localStorage"] !== null; // Modernizr if (Modernizr.localstorage) { }Web Workers
// JS return !!window.Worker; // Modernizr if (Modernizr.webworkers) { }Offline Web Application
// JS return !!window.applicationCache; // Modernizr if (Modernizr.applicationcache) { }Geolocation
// JS return "geolocation" in navigator; // Modernizr if (Modernizr.geolocation) { }Placeholder Text
// JS var i = document.createElement("input"); return "placeholder" in i; // Modernizr if (Modernizr.input.placeholder) { }Form Autofocus
// JS var i = document.createElement("input"); return "autofocus" in i; // Modernizr if (Modernizr.input.autofocus) { }Microdata
// JS return !!document.getItems; // Modernizr does not provide support to detect MicrodataHistory API
(关于其介绍,请戳:http://www.ido321.com/1069.html)
// JS return !!(window.history && history.pushState); // Modernizr if (Modernizr.history) { }
到目前为止,这是我收集的特性检测的代码列表。如果你有特性检测的代码想要在列表中分享,也可以告诉我。
原文首发:http://www.ido321.com/1116.html
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/49552.html
摘要:最近阅读了编写可维护的,在这里记录一下读书笔记。禁止使用,,,的字符串形式。避免使用级事件处理函数。让事件处理程序成为接触到对象的唯一函数。检测函数是检测检测函数的最佳选择。为特定浏览器的特性进行测试,并仅当特性存在时即可应用特性检测。 最近阅读了《编写可维护的 JavaScript》,在这里记录一下读书笔记。书中主要基于三个方向来讲解怎么增加代码的可维护性:编程风格、编程实践、自动化...
摘要:前端工作面试问题备注本包含了一些前端面试问题用于考查候选者。不建议对单个候选者问及每个问题那需要好几个小时。列举不同的清除浮动的技巧,并指出它们各自适用的使用场景。选择器字符串,字符串,回调函数,元素,对象,数组,元素数组,对象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...
摘要:前端工作面试问题备注本包含了一些前端面试问题用于考查候选者。不建议对单个候选者问及每个问题那需要好几个小时。列举不同的清除浮动的技巧,并指出它们各自适用的使用场景。选择器字符串,字符串,回调函数,元素,对象,数组,元素数组,对象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...
摘要:前端工作面试问题备注本包含了一些前端面试问题用于考查候选者。不建议对单个候选者问及每个问题那需要好几个小时。列举不同的清除浮动的技巧,并指出它们各自适用的使用场景。选择器字符串,字符串,回调函数,元素,对象,数组,元素数组,对象等。 https://github.com/darcyclarke/Front-end-Developer-Interview-Questions 前端工作面...
阅读 1519·2021-11-17 09:33
阅读 1053·2021-11-12 10:36
阅读 2365·2019-08-30 15:54
阅读 2417·2019-08-30 13:14
阅读 2881·2019-08-26 14:05
阅读 3254·2019-08-26 11:32
阅读 2965·2019-08-26 10:09
阅读 2968·2019-08-26 10:09