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

Você está no BLOG do Maujor. IR PARA O SITE

Vibration API do W3C

Publicado em: 2012-08-27 — 7.279 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.

Livros do Maujor

Desenvolvimento com Padrões Web? Adquira os livros do Maujor
Clique a "capinha" para visitar o site do livro.

capa livro jQuery   capa livro ajaxjQuery   capa livro css   capa livro html   capa livro javascript   capa livro html5   capa livro css3   capa livro jQuery Mobile   capa livro jQuery UI   capa livro SVG   capa livro RWD   capa livro foundation   capa livro HTML5 e CSS3   capa livro Bootstrap3   capa livro Sass e Compass

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 http://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