Web APIs
In addition to the chrome.* APIs, extensions can use all the APIs that the browser provides to web pages and apps. If the browser doesn't support an API you want to use, you can bundle additional API libraries into your extension.
Here's a sampling of the APIs that extensions can use:
- Standard JavaScript APIs
- These are the same core JavaScript and Document Object Model (DOM) APIs that you can use in ordinary web apps.
- XMLHttpRequest
- Use XMLHttpRequest to request data from one or more servers. The permissions field of the manifest specifies which hosts the extension can send requests to.
- HTML5 and other emerging APIs
- Google Chrome supports HTML5 features,
along with other emerging APIs.
Here are some of the APIs you can use:
- audio (tutorial)
- application cache (tutorial)
- canvas (articles)
- geolocation (tutorial)
- local storage (tutorial)
- notifications (tutorial)
- video (tutorial)
- web database (tutorial)
See html5rocks.com for HTML5 information, tutorials, an interactive playground, and links to other resources.
- WebKit APIs
-
Because Google Chrome is built upon WebKit,
your extensions can use WebKit APIs.
Especially useful are the experimental CSS features
such as filters, animations, and transformations.
Here's an example of using WebKit styles
to make the UI spin:
<style> div:hover { -webkit-transform: rotate(360deg); -webkit-transition: all 1s ease-out; } </style>
- V8 APIs, such as JSON
- Because JSON is in V8, you don't need to include a JSON library to use JSON functions.
- APIs in bundled libraries
- If you want to use a library that the browser doesn't provide (for example, jQuery), you can bundle that library's JavaScript files with your extension. Bundled libraries work in extensions just as they do in other web pages.