Logo do siteSilhueta da face do Maujor seguida do texto Maujor o dinossauro das CSS

Menu hamburger Três barras horizontais na cor laranja destinadas a ser clicada para abrir o menu menu do site

Vibration API do W3C

Publicado em: 2012-08-27 — 12.563 visualizacoes

telefone móvel vibrando

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.

18 comentários na matéria: “Vibration API do W3C”

  1. pablo redesNo Gravatar disse:

    testei varias vezes o operna no meu sansung mas ainda não desisti, vou chegar lá!

  2. TORPEDO GRÁTISNo Gravatar disse:

    otima referencia

  3. EvandroNo Gravatar disse:

    Usando o Android 4.0 ( modificação Cyanogemmod ), com aparelho: Defy.

    No navegador nativo nada, usando o firefox funcionou perfeitamente. Usando o prefixo MOZ.

  4. antonioNo Gravatar disse:

    Para que serve?

  5. vangelistaNo Gravatar disse:

    Gosto muito

  6. Juka AraujoNo Gravatar disse:

    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.

  7. Anderson VieiraNo Gravatar disse:

    Testei Motorola Razr Maxx
    Android 4.0.1
    Chrome e Opera e Navegador Nativo Android
    Não suporta API Vibration
    nada aconteceu

  8. TomamaisNo Gravatar disse:

    Testei no Firefox 15 do Android 4.1.1. Alertou que tinha suporte para a api, mas não vibrou. 🙁

  9. TomamaisNo Gravatar disse:

    Nokia Belle no N8, browser padrão. Também não

  10. Lucas CarvalhoNo Gravatar disse:

    muito útil essa funcionalidade.

  11. RuanNo Gravatar disse:

    Galaxy SII – android 4.0:
    Testado no browser nativo e chrome e ambos não funcionaram.

  12. rogerioNo Gravatar disse:

    opera mobile ni androud, nao funciona.

    melhor doque apenas vibrar, dar uma olhada em “phonegap”

  13. RaulNo Gravatar disse:

    no iPhone 4 usando Safari não funcionou.

  14. Igor BritesNo Gravatar disse:

    Testei no navegador nativo do Android no meu Galaxy 5 (Android 2.3) e no Dolphin Browser HD, e em ambos não funcionou. =/

  15. Marcelo TorresNo Gravatar disse:

    No Opera para Android não tem suporte….

  16. heltonNo Gravatar disse:

    Testei no android 4.0 galaxy s3 no nativo não funcionou já no firefox funcionou e ele informa que é com o prefixo moz

  17. Gabriel Magalhães dos SantosNo Gravatar disse:

    Testei no android 2.3 num galaxy Ace e não rodou tambem.

  18. FabricioNo Gravatar disse:

    No firefox para android funcionou lindo!
    No chrome e no nativo não funcionaram…

Comentário:





Teclar "Enter" cria um novo parágrafo. Teclar "Shift + Enter" causa uma quebra de linha.

Subscribe without commenting

topo