APIs web

Además de chrome.* APIs, las extensiones pueden usar todas las APIs que proporciona el navegador para páginas web y apps. Si el navegador no admite la API que quieres usar, puedes agrupar bibliotecas de API adicionales en la extensión.

A continuación, se muestra una muestra de las APIs que pueden usar las extensiones:

APIs de JavaScript estándar
Estas son las mismas APIs principales de JavaScript y de Document Object Model (DOM) que puedes usar en las apps web comunes.
XMLHttpRequest
Usa XMLHttpRequest para solicitar datos de uno o más servidores. El campo permissions del manifiesto especifica a qué hosts la extensión puede enviar solicitudes.
HTML y otras APIs emergentes

Google Chrome admite funciones de HTML modernas, junto con otras API emergentes. Estas son algunas de las APIs que puedes usar:

  • audio (instructivo)
  • caché de la aplicación (instructivo)
  • lienzo (artículos)
  • pantalla completa (artículo)
  • En las Apps de Chrome, se ingresa a la pantalla completa sin pedirle al usuario ni proporcionarle instrucciones para salir. El modo de pantalla completa de HTML5 requiere el permiso app.window.fullscreen en el manifiesto. En las páginas web normales, el navegador intercepta la tecla ESC para salir del bloqueo del puntero, lo que garantiza un método de escape coherente para los usuarios. Ese es también el comportamiento en las Apps de Chrome, a menos que se use el permiso app.window.fullscreen.overrideEsc para permitir que la app llame a preventDefault en eventos keydown y keyup.
  • ubicación geográfica (instructivo)
  • almacenamiento local (instructivo)
  • notificaciones (instructivo)
  • bloqueo del puntero (instructivo)
  • En las Apps de Chrome, el bloqueo del puntero se ingresa sin requerir un gesto del usuario, sin solicitarle permiso o proporcionar instrucciones de salida. El bloqueo del puntero requiere el permiso pointerlock en el manifiesto. Además, no hay un comportamiento de salida predeterminado. En las páginas web normales, el navegador intercepta la tecla Esc para salir del bloqueo del puntero. Este comportamiento no está presente en las Apps de Chrome.
  • video (instructivo)
  • base de datos web (instructivo)

Visita html5rocks.com para obtener información sobre HTML5, instructivos, una zona de pruebas interactiva y vínculos a otros recursos.

APIs web

Tu extensión puede usar APIs web. Las funciones de CSS, como los filtros, las animaciones y las transformaciones, son de especial utilidad. Este es un ejemplo de cómo usar estilos de WebKit para hacer que la IU gire:

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

Como JSON está en V8, no necesitas incluir una biblioteca JSON para utilizar las funciones JSON.

APIs en bibliotecas agrupadas

Si deseas usar una biblioteca que el navegador no proporciona (por ejemplo, jQuery), puedes empaquetar los archivos JavaScript de esa biblioteca con tu extensión. Las bibliotecas empaquetadas funcionan en extensiones al igual que en otras páginas web.