Além do chrome.* APIs, as extensões podem usar todas as APIs fornecidas pelo navegador para páginas da Web e apps. Se o navegador não suportar a API que você deseja usar, será possível agrupar bibliotecas de API à sua extensão.
Veja uma amostra das APIs que as extensões podem usar:
- APIs JavaScript padrão
- Essas são as mesmas APIs JavaScript e Document Object Model (DOM) que você pode usar na e 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 oferece suporte a recursos HTML modernos, além de outras APIs que estão surgindo. Aqui estão alguns dos APIs que você pode usar:
- áudio (tutorial)
- cache do aplicativo (tutorial)
- tela (artigos)
- tela cheia (artigo)
- Nos apps do Chrome, a tela cheia é inserida sem perguntar ao usuário nem fornecer instruções de saída.
O modo de tela cheia HTML5 exige a permissão
app.window.fullscreen
no manifesto. Normalmente, páginas da Web, o navegador intercepta a tecla ESC para sair do bloqueio do ponteiro, garantindo um escape consistente para os usuários. Esse também é o comportamento de aplicativos do Google Chrome, a menos que A permissãoapp.window.fullscreen.overrideEsc
é usada para permitir que o app chamepreventDefault
em eventos de keydown e keyup. - geolocalização (tutorial)
- armazenamento local (tutorial)
- notificações (tutorial)
- bloqueio do ponteiro (tutorial)
- Nos apps do Chrome, o bloqueio do ponteiro é inserido sem exigir um gesto ou uma solicitação do usuário.
fornecer instruções de saída. O bloqueio do ponteiro requer a permissão
pointerlock
no manifesto. Além disso, não há 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)
Acesse 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 Web. Recursos de CSS como filtros, animações e transformações. Veja um exemplo de como usar estilos do WebKit para fazer a interface girar:
<style> div:hover { transform: rotate(360deg); transition: all 1s ease-out; } </style>
- APIs V8, como JSON
Como o JSON está no V8, não é necessário incluir uma biblioteca JSON para usar as funções JSON.
- APIs em bibliotecas agrupadas
Se você deseja usar uma biblioteca que o navegador não fornece (por exemplo, jQuery), é possível agrupar os arquivos JavaScript dessa biblioteca com sua extensão. As bibliotecas em pacote funcionam em extensões que fazem em outras páginas da Web.