
在此处阅读此文件
在这里在印尼语中阅读此文件
在这里用西班牙语阅读此文件
在此处阅读此文件
在此处阅读此文件
在此处阅读此文件
在这里在印地语中阅读此文件
我们的网站已经过时且已损坏,请不要使用它(https://modernizr.com),而是从NPM构建现代化版本。
文档
集成测试
单位测试
现代CSS3和HTML5特征在当前的UA中可用,并以两种方式可为您提供结果:作为全局Modernizr对象上的属性以及<html>元素的类。这些信息使您可以通过对体验的精细控制水平逐步增强页面。
放弃对节点版本的支持<= 10,请升级至至少版本12
以下测试重命名为:
es6class class的类别保持一致以下测试在子目录中移动:
cookies , indexeddb , indexedblob , quota-management-api , userdata移至存储子目录中audio移入音频子目录battery移入电池子目录canvas , canvastext移入了画布子目录customevent , eventlistener , forcetouch , hashchange , pointerevents , proximity迁移到活动子目录中exiforientation移动到图像子目录中capture , fileinput , fileinputdirectory , formatattribute , input , inputnumber-l10n , inputsearchevent , inputtypes , placeholder , requestautocomplete ,验证, validation移至输入子目录中svg进入SVG子目录webgl移至WebGL子目录中删除以下测试:
touchevents :讨论unicode :讨论templatestrings :ES6检测stringtemplate的重复contains :ES6检测es6string的重复datalistelem :of Modernizr.input.list list dupe 通常,人们想知道何时进行异步测试,以便他们可以使应用程序对其做出反应。过去,您必须依靠观看属性或<html>类。仅支持异步测试的事件。应同步处理同步测试,以提高速度并保持一致性。
新的API看起来像这样:
// Listen to a test, give it a callback
Modernizr . on ( "testname" , function ( result ) {
if ( result ) {
console . log ( "The test passed!" ) ;
} else {
console . log ( "The test failed!" ) ;
}
} ) ;我们保证我们只调用您的功能一次(您on时间)。我们目前没有揭露公开trigger功能的方法。相反,如果您想控制异步测试,请使用src/addTest功能,并且设置的任何测试都会自动公开并触发on功能。
npm install安装项目依赖项现代化可以通过NPM编程使用:
var modernizr = require ( "modernizr" ) ;暴露了build用于生成自定义现代化构建的方法。例子:
var modernizr = require ( "modernizr" ) ;
modernizr . build ( { } , function ( result ) {
console . log ( result ) ; // the build
} ) ;第一个参数将选项的JSON对象和功能检测到包括在内。有关所有可用选项,请参见lib/config-all.json 。
第二个参数是在任务完成时调用的函数。
我们还提供了构建现代化的命令行界面。要查看所有可用选项运行:
./bin/modernizr或在“ config-all.json”中生成所有内容。
npm start
//outputs to ./dist/modernizr-build.js在控制台运行上使用Mocha-Headless-Crome执行测试:
npm test您还可以使用此命令在选择的浏览器中运行测试:
npm run serve-gh-pages并导航到这两个URL:
http://localhost:8080/test/unit.html
http://localhost:8080/test/integration.html本节提供了有关如何将现代化与各种构建工具和框架集成的指南,从而使其更易于在项目中使用。
要将Modernizr与WebPack集成,请执行以下步骤:
安装Modernizr :
npm install modernizr --save创建一个Modernizr配置文件:在您的项目root中创建一个名为modernizr-config.js的文件:
module . exports = {
"feature-detects" : [
"test/feature1" ,
"test/feature2" ,
// Add more feature detects as needed
]
} ;更新WebPack配置:修改您的WebPack配置文件(例如, webpack.config.js )以包含Modernizr插件:
const ModernizrWebpackPlugin = require ( 'modernizr-webpack-plugin' ) ;
module . exports = {
// Other configurations...
plugins : [
new ModernizrWebpackPlugin ( {
"feature-detects" : [
"test/feature1" ,
"test/feature2"
]
} )
]
} ;构建您的项目:运行您的WebPack构建过程:
npm run build如果您使用的是Gulp,则可以按以下方式整合现代化:
安装Modernizr :
npm install modernizr --save-dev创建一个Gulp任务:在您的gulpfile.js中,添加一个任务以构建Modernizr:
const gulp = require ( 'gulp' ) ;
const modernizr = require ( 'modernizr' ) ;
gulp . task ( 'modernizr' , function ( ) {
return modernizr . build ( {
"feature-detects" : [
"test/feature1" ,
"test/feature2"
]
} ) . pipe ( gulp . dest ( 'dist/' ) ) ;
} ) ;运行GULP任务:执行生成Modernizr构建的任务:
gulp modernizr对于使用包裹的项目,您可以按以下方式整合Modernizr:
安装Modernizr :
npm install modernizr --save创建一个现代化配置文件:类似于WebPack设置,创建一个modernizr-config.js文件:
module . exports = {
"feature-detects" : [
"test/feature1" ,
"test/feature2"
]
} ;更新包裹配置:您可以使用诸如parcel-plugin-modernizr之类的插件来集成现代化:
npm install parcel-plugin-modernizr --save-dev构建您的项目:运行包裹以构建您的项目:
parcel build index.html通过允许您检测和响应用户浏览器的功能,将ModernIzr与您的构建工具集成在一起可以增强您的Web应用程序。按照上述步骤使用您喜欢的构建工具来设置现代化。
有关更多信息,请参阅Modernizr文档。
该项目遵守开放的行为守则。通过参与,您应该尊重此代码。
麻省理工学院许可证