Trabalhar na Mozilla me proporcionou tempo para examinar novas APIs, sendo uma delas a API de bateria. Escrevi sobre a Battery API há algum tempo, quando a API era nova nos navegadores. Desde então, a API Battery foi alterada, implementando uma API baseada em promessa que agora está disponível somente no Google Chrome. Vamos dar uma olhada em como usar a nova API!




A funcionalidade de que precisamos ainda está hospedada no site do navigator mas, desta vez, é uma função chamada getBattery:



navigator.getBattery().then(function(result) {});


Uma promessa é retornada do getBattery() e o retorno de chamada fornecido ao then recebe um BatteryManager que fornece as seguintes informações de exemplo:



// result:
BatteryManagery {
	charging: false,
	chargingTime: Infinity,
	dischargingTime: 8940,
	level: 0.59,
	onchargingchange: null,
	onchargingtimechange: null,
	ondischargingtimechange: null,
	onlevelchange: null
}




A nova API é diferente na execução, mas também no resultado. Lembre-se de que a API antiga tinha problemas com baterias de dispositivos Mac, e isso não parece ter mudado. Adaptar-se a diferentes prefixos de navegador é uma dor de cabeça, mas é algo que acabamos aceitando, mas é realmente ruim quando a metodologia é completamente diferente. Esperamos que outros fornecedores de navegadores se atualizem rapidamente e que possamos ver uma solução unificada, com prefixo de navegador (brincadeira) API novamente.

  • Criação de efeitos de paralaxe de rolagem com CSS

    Introdução Há muito tempo, os sites com o chamado efeito “parallax” são muito populares… Caso o senhor não tenha ouvido falar desse efeito, ele basicamente inclui diferentes camadas de imagens que se movem em diferentes direções ou com diferentes velocidades. Isso leva a uma…

  • 5 maneiras de interação entre CSS e JavaScript que talvez o senhor não conheça