APIs Web

Além do arquivo chrome.* APIs, as extensões podem usar todas as APIs fornecidas pelo navegador para apps e páginas da Web. Se o navegador não for compatível com uma API que você quer usar, é possível agrupar outras bibliotecas de API na sua extensão.

Confira uma amostra das APIs que as extensões podem usar:

APIs JavaScript padrão
Elas são as mesmas APIs principais de JavaScript e de Modelo de objeto de documentos (DOM) que podem ser usadas em apps da Web comuns.
XMLHttpRequest
Use XMLHttpRequest para solicitar dados de um ou mais servidores. O campo permissions do manifesto especifica para quais hosts a extensão pode enviar solicitações.
HTML e outras APIs emergentes

O Google Chrome suporta recursos HTML modernos, junto com outras APIs que estão surgindo. Confira algumas das APIs que podem ser usadas:

  • áudio (tutorial)
  • cache de aplicativo (tutorial)
  • tela (artigos)
  • tela cheia (artigo)
  • Nos apps do Chrome, a tela cheia é inserida sem avisar o usuário ou fornecer instruções de saída. A tela cheia do HTML5 exige a permissão app.window.fullscreen no manifesto. Em páginas da Web normais, o navegador intercepta a tecla ESC para sair do bloqueio de ponteiro, garantindo um método de escape consistente para os usuários. Esse também é o comportamento nos apps do Chrome, a menos que a permissão app.window.fullscreen.overrideEsc seja usada para permitir que o app chame preventDefault em eventos de keydown e keyup.
  • geolocalização (tutorial)
  • armazenamento local (tutorial)
  • notificações (tutorial)
  • bloqueio de ponteiro (tutorial)
  • Nos apps do Chrome, o bloqueio do ponteiro é inserido sem exigir um gesto do usuário, fazer uma solicitação ou fornecer instruções de saída. O bloqueio de ponteiro exige a permissão pointerlock no manifesto. Além disso, não há um comportamento de saída padrão. Em páginas da Web normais, o navegador intercepta a tecla ESC para sair do bloqueio do ponteiro. Esse comportamento não está presente nos apps do Chrome.
  • vídeo (tutorial)
  • banco de dados da Web (tutorial)

Consulte html5rocks.com para ver informações sobre HTML5, tutoriais, um playground interativo e links para outros recursos.

APIs Web

Sua extensão pode usar APIs da Web. Os recursos CSS, como filtros, animações e transformações, são especialmente úteis. Aqui está um exemplo de uso de estilos do WebKit para fazer a interface girar:

<style>
  div:hover {
    transform: rotate(360deg);
    transition: all 1s ease-out;
  }
</style>
APIs do V8, como JSON

Como o JSON está no V8, você não precisa incluir uma biblioteca JSON para usar as funções JSON.

APIs em bibliotecas empacotadas

Se você quiser usar uma biblioteca que não é fornecida pelo navegador (por exemplo, jQuery), agrupe os arquivos JavaScript dessa biblioteca com sua extensão. As bibliotecas de pacote funcionam em extensões da mesma forma que em outras páginas da Web.