Vibration API do W3C
Publicado em: 2012-08-27 — 12.789 visualizacoes
A chegada da HTML5 revolucionou não somente o conceito de se escrever marcação HTML, mas também expandiu radicalmente a própria finalidade da linguagem, conferindo-lhe uma nova missão, qual seja a do desenvolvimento de Aplicações Web.
Assim, é lícito afirmar-se que a HTML5 destina-se à criação de Web Sites essencialmente como fazia a HTML4 e anteriores e também de Aplicações Web ricas e interativas como não era possível com as HTML anteriores.
A era dos dispositivos móveis chegou e com ela a necessidade de aplicações específicas para tais dispositivos.
O W3C na consecução do seu objetivo maior de lutar pela criação de uma Web universal, não hesita em constituir Grupos de Trabalho para estudar e desenvolver novas tecnologias que visam a criar códigos universais.
Uma das áreas que vem experimentando uma movimentação intensa nesse contexto é a das API Web baseadas na JavaScript. Cada vez mais são criadas funcionalidades destinadas a manipular interatividade não só em interfaces de aplicações desktop como aquelas para dispositivos móveis.
Recomendação para a Vibration API
No dia 8 de maio de 2012 a especificação do W3C para a Vibration API alcançou o status de Candidata a Recomendação.
Essa API cria funcionalidades que permite o acesso à funcionalidade nativa de vibração de dispositivos móveis. Vibrar o dispositivo é uma forma de fornecer ao usuário um feedback tátil.
A finalidade da vibração é a de fornecer um mecanismo de alto valor no desenvolvimento de jogos e não deve ser usada como mecanismo geral de notificação ao usuário.
A interface Vibration é extremamente simples e admite um único método denominado vibrate()
, para o elemento objeto navigator
.
Método vibrate()
Esse método admite um parâmetro em dois formatos: o número de milissegundos de duração da vibração ou um formato de lista de milissegundos separados por vírgula na qual os valores de ordem ímpar representam tempo de vibração e os valores de ordem par tempo de pausa em milessegundos. Os exemplos a seguir esclarecem os usos do método.
Vibrar durante 1s
navigator.vibrate(1000); ...
ou alternativamente:
navigator.vibrate([1000]); ...
Vibrar durante 1s pausar 500ms vibrar novamente 1,5s
navigator.vibrate([1000, 500, 1500]); ...
Vibrar 3 vezes durante 1s com pausas de 300ms e 600ms
navigator.vibrate([1000, 300, 1000, 600, 1000]); ...
Cancelar vibração em andamento
navigator.vibrate(0); ...
ou alternativamente:
navigator.vibrate([]); ...
Testes e exemplo prático
Nas pesquisas que fiz encontrei relatos que a Vibration API é suportada pelo navegador Firefox 11+ rodando em Android e em engines webkit, ambos com uso de prefixos proprietários como mostrado a seguir.
navigator.mozVibrate(); navigator.webkitVibrate();
Observei que o console JavaScript do navegador Firefox (Firebug) reconheceu normalmente o método navigator.mozVibrate()
, contudo o mesmo não ocorreu com o navegador Chrome que não reconheceu o método navigator.webkitVibrate()
.
Desenvolvi uma página simples para testar o funcionamento da API.
Testei no iPhone4 rodando Safari e Chrome e em ambos os navegadores a API não funcionou. Não tenho outros dispositivos para testar. Convido você a me ajudar, entrando na página de teste localizada em http://kwz.me/Eo e deixando seus comentários dizendo o navegador (Firefox ou WebKit, somente), a plataforma e modelo no qual testou e qual foi o resultado obtido.
AGRADEÇO antecipadamente pela sua colaboração.
Desenvolvimento com Padrões Web? Adquira os livros do Maujor
Visite o site dos livros.
Esta matéria foi publicada em: 2012-08-27 (segunda-feira). Subscreva o feed RSS 2.0 para comentários.
Comente abaixo, ou link para https://www.maujor.com/blog/2012/08/27/vibration-api-do-w3c/trackback no seu site.
testei varias vezes o operna no meu sansung mas ainda não desisti, vou chegar lá!
otima referencia
Usando o Android 4.0 ( modificação Cyanogemmod ), com aparelho: Defy.
No navegador nativo nada, usando o firefox funcionou perfeitamente. Usando o prefixo MOZ.
Para que serve?
Gosto muito
Galaxy SIII Android 4.0 com Chrome não funcionou
Galaxy Tab 10.1 com Android 3.2 Browser nativo e Firefox (16) beta não funcionou.
Firefox (15) funcionou.
Testei Motorola Razr Maxx
Android 4.0.1
Chrome e Opera e Navegador Nativo Android
Não suporta API Vibration
nada aconteceu
Testei no Firefox 15 do Android 4.1.1. Alertou que tinha suporte para a api, mas não vibrou. 🙁
Nokia Belle no N8, browser padrão. Também não
muito útil essa funcionalidade.
Galaxy SII – android 4.0:
Testado no browser nativo e chrome e ambos não funcionaram.
opera mobile ni androud, nao funciona.
melhor doque apenas vibrar, dar uma olhada em “phonegap”
no iPhone 4 usando Safari não funcionou.
Testei no navegador nativo do Android no meu Galaxy 5 (Android 2.3) e no Dolphin Browser HD, e em ambos não funcionou. =/
No Opera para Android não tem suporte….
Testei no android 4.0 galaxy s3 no nativo não funcionou já no firefox funcionou e ele informa que é com o prefixo moz
Testei no android 2.3 num galaxy Ace e não rodou tambem.
No firefox para android funcionou lindo!
No chrome e no nativo não funcionaram…