Modernizr testa quais recursos nativos de HTML5 e CSS3 estão disponíveis na UA atual, e deixa os recursos disponíveis para você em duas maneiras: como propriedades num objeto global Modernizr
, e como classes no elemento <html>
. Essa informação permite que você melhore progressivamente suas páginas com um nível granular de controle sobre a experiência.
-
Fechou o suporte para Node 8, por favor atualize para Node v10
-
Esses testes foram removidos:
touchevents
: discussionunicode
: discussiontemplatestrings
: duplicate of the es6 detectstringtemplate
contains
: duplicate of the es6 detectes6string
datalistelem
: A dupe of Modernizr.input.list
Várias vezes as pessoas querem saber quando um teste assíncrono é feito pra que eles possam autorizar suas aplicações a reagir com ele. No passado, tinha que confiar em ficar monitorando propriedades ou em classes <html>
. Apenas eventos em testes asynchronous possuem suporte. Testes síncronos devem ser manipulados sincronamente para aumentar velocidade e manter consistência.
A API nova está assim:
// Listen to a test, give it a callback
Modernizr.on('testname', function( result ) {
if (result) {
console.log('O teste passou!');
}
else {
console.log('O teste falhou!');
}
});
Nós garantimos que só vamos invocar sua função uma vez (por vezes que você chame on
). Atualmente não estamos expondo um método para expôr a funcionalidade trigger
. Em vez disso, se você gostaria de ter controle sobre testes assíncronos, use o recurso src/addTest
, e qualquer teste que você faça vai automaticamente expôr e ativar a funcionalidade on
.
- Clone ou baixe o repositório
- Instale as dependências do projeto com
npm install
Modernizr pode ser usado programaticamente via npm:
var modernizr = require("modernizr");
Um método build
é exposto para gerar builds customizadas do Modernizr. Exemplo:
var modernizr = require("modernizr");
modernizr.build({}, function (result) {
console.log(result); // a build
});
O primeiro parâmetro pega um objeto JSON de opções e detector de recursos para incluir. Veja lib/config-all.json
para todas opções disponíveis.
O segundo parâmetro é uma função invocada pela conclusão de tarefa.
Nós também disponibilizamos uma interface na linha de comando para a construção do Modernizr. Para ver todas opções disponíveis digite:
./bin/modernizr
Ou para gerar tudo no 'config-all.json' digite isso com o npm:
npm start
//outputs to ./dist/modernizr-build.js
Para executar os testes usando mocha-headless-chrome no console, use:
npm test
Também tem como fazer testes no navegador de sua escolha com esse comando:
npm run serve-gh-pages
e navegando para essas duas URLs:
http://localhost:8080/test/unit.html
http://localhost:8080/test/integration.html
Este projeto adere ao Código Aberto de Conduta. Participando deste projeto, é esperado que você honre esse código.