Documentation de référence de l'API

La plupart des extensions ont besoin d'accéder à une ou plusieurs API Chrome Extensions pour fonctionner. Cette documentation de référence décrit les API disponibles pour les extensions et présente des exemples de cas d'utilisation.

Fonctionnalités communes de l'API Extensions

Une API Extensions se compose d'un espace de noms contenant des méthodes et des propriétés permettant d'effectuer des tâches d'extension, et généralement, mais pas toujours, de champs de fichier manifeste pour le fichier manifest.json. Par exemple, l'espace de noms chrome.action nécessite un objet "action" dans le fichier manifeste. De nombreuses API nécessitent également des autorisations dans le fichier manifeste.

Les méthodes des API d'extension sont asynchrones, sauf indication contraire. Les méthodes asynchrones renvoient immédiatement une réponse, sans attendre la fin de l'opération qui les appelle. Utilisez des promesses pour obtenir les résultats de ces méthodes asynchrones.

API des extensions Chrome

accessibilityFeatures

Utilisez l'API chrome.accessibilityFeatures pour gérer les fonctionnalités d'accessibilité de Chrome. Cette API s'appuie sur le prototype ChromeSetting de type API pour obtenir et définir des fonctionnalités d'accessibilité individuelles. Pour obtenir les états des éléments géographiques, l'extension doit demander l'autorisation accessibilityFeatures.read. Pour modifier l'état des éléments géographiques, l'extension a besoin de l'autorisation accessibilityFeatures.modify. Notez que accessibilityFeatures.modify n'implique pas l'autorisation accessibilityFeatures.read.

action
Chrome 88 ou version ultérieure MV3 ou version ultérieure

Utilisez l'API chrome.action pour contrôler l'icône de l'extension dans la barre d'outils Google Chrome.

alarms

Utilisez l'API chrome.alarms pour planifier l'exécution du code de manière périodique ou à une heure précise à l'avenir.

audio
Chrome 59 ou version ultérieure ChromeOS uniquement

L'API chrome.audio permet aux utilisateurs d'obtenir des informations sur les appareils audio connectés au système et de les contrôler. Cette API n'est actuellement disponible que pour le mode Kiosque sur ChromeOS.

favoris

Utilisez l'API chrome.bookmarks pour créer, organiser et manipuler les favoris. Consultez également Pages de remplacement, que vous pouvez utiliser pour créer une page de gestionnaire de favoris personnalisée.

browsingData

Utilisez l'API chrome.browsingData pour supprimer les données de navigation du profil local d'un utilisateur.

certificateProvider
Chrome 46 ou version ultérieure ChromeOS uniquement

Utilisez cette API pour divulguer les certificats sur la plate-forme qui peut les utiliser pour les authentifications TLS.

commandes

Utilisez l'API Commands pour ajouter des raccourcis clavier qui déclenchent des actions dans votre extension, par exemple une action pour ouvrir l'action du navigateur ou envoyer une commande à l'extension.

contentSettings

Utilisez l'API chrome.contentSettings pour modifier les paramètres qui déterminent si les sites Web peuvent utiliser des fonctionnalités telles que des cookies, du code JavaScript et des plug-ins. Plus généralement, les paramètres de contenu vous permettent de personnaliser le comportement de Chrome par site plutôt que de manière globale.

contextMenus

Utilisez l'API chrome.contextMenus pour ajouter des éléments au menu contextuel de Google Chrome. Vous pouvez choisir les types d'objets auxquels les options ajoutées au menu contextuel s'appliquent, comme les images, les liens hypertextes et les pages.

cookies

Utilisez l'API chrome.cookies pour interroger et modifier les cookies, et pour être averti lorsqu'ils changent.

débogueur

L'API chrome.debugger sert de transport alternatif pour le protocole de débogage à distance de Chrome. Utilisez chrome.debugger pour vous associer à un ou plusieurs onglets afin d'instrumenter l'interaction réseau, de déboguer JavaScript, de modifier le DOM et le CSS, etc. Utilisez la propriété tabId de la Debuggee pour cibler les onglets avec sendCommand et acheminer les événements par tabId à partir des rappels onEvent.

declarativeContent

Utilisez l'API chrome.declarativeContent pour effectuer des actions en fonction du contenu d'une page, sans avoir besoin d'autorisation pour lire le contenu de la page.

declarativeNetRequest
Chrome 84 ou version ultérieure

L'API chrome.declarativeNetRequest permet de bloquer ou de modifier les requêtes réseau en spécifiant des règles déclaratives. Les extensions peuvent ainsi modifier les requêtes réseau sans les intercepter ni en afficher le contenu, ce qui renforce la confidentialité.

desktopCapture

L'API Desktop Capture capture le contenu de l'écran, de fenêtres individuelles ou d'onglets individuels.

devtools.inspectedWindow

Utilisez l'API chrome.devtools.inspectedWindow pour interagir avec la fenêtre inspectée : obtenez l'ID de l'onglet pour la page inspectée, évaluez le code dans le contexte de la fenêtre inspectée, actualisez la page ou obtenez la liste des ressources de la page.

devtools.network

Utilisez l'API chrome.devtools.network pour récupérer les informations sur les requêtes réseau affichées par les outils pour les développeurs dans le panneau "Réseau".

devtools.panels

Utilisez l'API chrome.devtools.panels pour intégrer votre extension à l'interface utilisateur de la fenêtre des outils pour les développeurs : créez vos propres panneaux, accédez à des panneaux existants et ajoutez des barres latérales.

devtools.performance
Chrome 129 ou version ultérieure

Utilisez l'API chrome.devtools.performance pour écouter les mises à jour de l'état de l'enregistrement dans le panneau "Performances" de DevTools.

devtools.recorder
Chrome 105 ou version ultérieure

Utilisez l'API chrome.devtools.recorder pour personnaliser le panneau de l'Enregistreur dans DevTools.

dns
Chaîne de développement

Utilisez l'API chrome.dns pour la résolution DNS.

documentScan
Chrome 44 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.documentScan pour découvrir et récupérer les images des scanners de document connectés.

dom
Chrome 88 ou version ultérieure

Utiliser l'API chrome.dom pour accéder aux API DOM spéciales pour les extensions

téléchargements

Utilisez l'API chrome.downloads pour initier, surveiller, manipuler et rechercher des téléchargements par voie programmatique.

enterprise.deviceAttributes
Chrome 46 et versions ultérieures ChromeOS uniquement Nécessite une stratégie

Utilisez l'API chrome.enterprise.deviceAttributes pour lire les attributs des appareils. Remarque : Cette API n'est disponible que pour les extensions installées d'office par les règles d'entreprise.

enterprise.hardwarePlatform
Chrome 71 et versions ultérieures Nécessite une règle

Utilisez l'API chrome.enterprise.hardwarePlatform pour obtenir le nom du fabricant et le modèle de la plate-forme matérielle sur laquelle s'exécute le navigateur. Remarque : Cette API n'est disponible que pour les extensions installées par les règles d'entreprise.

enterprise.login
En attente ChromeOS uniquement Nécessite une stratégie

Utilisez l'API chrome.enterprise.login pour quitter les sessions Invité gérées. Remarque : Cette API n'est disponible que pour les extensions installées par les règles d'entreprise dans les sessions Invité gérées ChromeOS.

enterprise.networkingAttributes
Chrome 85 et versions ultérieures ChromeOS uniquement Nécessite une stratégie

Utilisez l'API chrome.enterprise.networkingAttributes pour lire des informations sur votre réseau actuel. Remarque : Cette API n'est disponible que pour les extensions installées d'office par les règles d'entreprise.

enterprise.platformKeys
ChromeOS uniquement Nécessite une stratégie

Utilisez l'API chrome.enterprise.platformKeys pour générer des clés et installer les certificats de ces clés. Ces certificats seront gérés par la plate-forme et peuvent servir à l'authentification TLS, à l'accès au réseau ou à une autre extension via chrome.platformKeys.

événements

L'espace de noms chrome.events contient des types courants utilisés par les API qui distribuent des événements pour vous informer lorsqu'un événement intéressant se produit.

extension

L'API chrome.extension dispose d'utilitaires pouvant être utilisés par n'importe quelle page d'extension. Il permet d'échanger des messages entre une extension et ses scripts de contenu ou entre des extensions, comme décrit en détail dans la section Transmission de messages.

extensionTypes

L'API chrome.extensionTypes contient des déclarations de type pour les extensions Chrome.

fileBrowserHandler
ChromeOS uniquement : uniquement au premier plan

Utilise l'API chrome.fileBrowserHandler pour étendre l'explorateur de fichiers Chrome OS. Par exemple, vous pouvez vous en servir pour autoriser les utilisateurs à importer des fichiers sur votre site Web.

fileSystemProvider
ChromeOS uniquement

Utilisez l'API chrome.fileSystemProvider pour créer des systèmes de fichiers accessibles depuis le gestionnaire de fichiers de ChromeOS.

fontSettings

Utilisez l'API chrome.fontSettings pour gérer les paramètres de police de Chrome.

gcm

Utilisez chrome.gcm pour autoriser les applications et les extensions à envoyer et à recevoir des messages via Firebase Cloud Messaging (FCM).

historique

Utilisez l'API chrome.history pour interagir avec l'enregistrement des pages visitées par le navigateur. Vous pouvez ajouter, supprimer et interroger des URL dans l'historique du navigateur. Pour remplacer la page d'historique par votre propre version, consultez Remplacer des pages.

i18n

Utilisez l'infrastructure chrome.i18n pour implémenter l'internationalisation dans l'ensemble de votre application ou de votre extension.

identité

Utilisez l'API chrome.identity pour obtenir des jetons d'accès OAuth2.

idle

Utilisez l'API chrome.idle pour détecter les changements d'état d'inactivité de la machine.

input.ime
ChromeOS uniquement

Utilisez l'API chrome.input.ime pour implémenter un IME personnalisé pour ChromeOS. Cela permet à votre extension de gérer les frappes, de définir la composition et de gérer la fenêtre des suggestions.

instanceID
Chrome 44 ou version ultérieure

Utilisez chrome.instanceID pour accéder au service d'ID d'instance.

loginState
Chrome 78 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.loginState pour lire et surveiller l'état de connexion.

vidéos

L'API chrome.management permet de gérer les applications et les extensions installées.

notifications

Utilisez l'API chrome.notifications pour créer des notifications enrichies à l'aide de modèles et les afficher aux utilisateurs dans la barre d'état système.

hors écran
Chrome 109 ou version ultérieure MV3 ou version ultérieure

Utilisez l'API offscreen pour créer et gérer des documents hors écran.

omnibox

L'API Omnibox vous permet d'enregistrer un mot clé dans la barre d'adresse de Google Chrome, également appelée omnibox.

pageCapture

Utilisez l'API chrome.pageCapture pour enregistrer un onglet au format MHTML.

autorisations

Utilisez l'API chrome.permissions pour demander les autorisations facultatives déclarées au moment de l'exécution plutôt qu'au moment de l'installation. Les utilisateurs comprendront ainsi pourquoi ces autorisations sont nécessaires et n'en accorderont que celles qui sont nécessaires.

platformKeys
Chrome 45 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.platformKeys pour accéder aux certificats client gérés par la plate-forme. Si l'utilisateur ou les règles l'autorisent, une extension peut utiliser un tel certificat dans son protocole d'authentification personnalisé. Par exemple, les certificats gérés par la plate-forme peuvent alors être utilisés dans les VPN tiers (voir chrome.vpnProvider).

power

Utilisez l'API chrome.power pour remplacer les fonctionnalités de gestion de l'alimentation du système.

printerProvider
Chrome 44 ou version ultérieure

L'API chrome.printerProvider expose les événements utilisés par le gestionnaire d'impression pour interroger les imprimantes contrôlées par les extensions et leurs fonctionnalités, et pour envoyer les tâches d'impression à ces imprimantes.

impression
Chrome 81 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.printing pour envoyer des tâches d'impression aux imprimantes installées sur un Chromebook.

printingMetrics
Chrome 79 et versions ultérieures ChromeOS uniquement Nécessite une stratégie

Utilisez l'API chrome.printingMetrics pour extraire des données sur l'utilisation de l'impression.

confidentialité

Utilisez l'API chrome.privacy pour contrôler l'utilisation des fonctionnalités de Chrome pouvant affecter la confidentialité d'un utilisateur. Cette API s'appuie sur le prototype ChromeSetting du type API pour obtenir et définir la configuration de Chrome.

traitements
Chaîne de développement

Utilisez l'API chrome.processes pour interagir avec les processus du navigateur.

proxy

Utilisez l'API chrome.proxy pour gérer les paramètres de proxy de Chrome. Cette API s'appuie sur le prototype ChromeSetting de type API pour obtenir et définir la configuration du proxy.

readingList
Chrome 120 et versions ultérieures MV3 et versions ultérieures

Utilisez l'API chrome.readingList pour lire et modifier les éléments de la liste de lecture.

runtime

Utilisez l'API chrome.runtime pour récupérer le service worker, renvoyer des informations sur le fichier manifeste, et écouter et répondre aux événements du cycle de vie de l'extension. Vous pouvez également utiliser cette API pour convertir le chemin relatif des URL en URL complètes.

script
Chrome 88 ou version ultérieure MV3 ou version ultérieure

Utilisez l'API chrome.scripting pour exécuter un script dans différents contextes.

search
Chrome 87 ou version ultérieure

Utilisez l'API chrome.search pour effectuer une recherche via le fournisseur par défaut.

sessions

Utilisez l'API chrome.sessions pour interroger et restaurer les onglets et les fenêtres d'une session de navigation.

sidePanel
Chrome 114 ou version ultérieure MV3 ou version ultérieure

Utilisez l'API chrome.sidePanel pour héberger du contenu dans le panneau latéral du navigateur, à côté du contenu principal d'une page Web.

storage

Utilisez l'API chrome.storage pour stocker, récupérer et suivre les modifications apportées aux données utilisateur.

system.cpu

Utilisez l'API system.cpu pour interroger les métadonnées du processeur.

system.display

Utilisez l'API system.display pour interroger les métadonnées d'affichage.

system.memory

L'API chrome.system.memory.

system.storage

Utilisez l'API chrome.system.storage pour interroger les informations sur les appareils de stockage et être averti lorsqu'un appareil de stockage amovible est connecté ou déconnecté.

systemLog
Chrome 125 ou version ultérieure ChromeOS uniquement Nécessite une règle

Utilisez l'API chrome.systemLog pour enregistrer les journaux système Chrome à partir des extensions.

tabCapture

Utilisez l'API chrome.tabCapture pour interagir avec les flux multimédias des onglets.

tabGroups
Chrome 89 ou version ultérieure MV3 ou version ultérieure

Utilisez l'API chrome.tabGroups pour interagir avec le système de regroupement d'onglets du navigateur. Vous pouvez utiliser cette API pour modifier et réorganiser les groupes d'onglets dans le navigateur. Pour regrouper et dissocier des onglets, ou pour interroger les onglets appartenant à des groupes, utilisez l'API chrome.tabs.

onglets

Utilisez l'API chrome.tabs pour interagir avec le système d'onglets du navigateur. Vous pouvez utiliser cette API pour créer, modifier et réorganiser les onglets dans le navigateur.

topSites

Utilisez l'API chrome.topSites pour accéder aux principaux sites (sites les plus consultés) affichés sur la page "Nouvel onglet". Cela n'inclut pas les raccourcis personnalisés par l'utilisateur.

tts

Utilisez l'API chrome.tts pour lire la synthèse vocale (TTS). Consultez également l'API ttsEngine associée, qui permet à une extension d'implémenter un moteur de synthèse vocale.

ttsEngine

Utilisez l'API chrome.ttsEngine pour implémenter un moteur de synthèse vocale à l'aide d'une extension. Si votre extension s'enregistre à l'aide de cette API, elle recevra des événements contenant une expression à prononcer et d'autres paramètres lorsqu'une extension ou une application Chrome utilisera l'API tts pour générer de la parole. Votre extension peut ensuite utiliser n'importe quelle technologie Web disponible pour synthétiser et générer la parole, puis renvoyer des événements à la fonction appelante pour signaler l'état.

types

L'API chrome.types contient des déclarations de type pour Chrome.

userScripts
Chrome 120 et versions ultérieures MV3 et versions ultérieures

Utilisez l'API userScripts pour exécuter des scripts utilisateur dans le contexte des scripts utilisateur.

vpnProvider
Chrome 43 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.vpnProvider pour implémenter un client VPN.

3D
Chrome 43 ou version ultérieure ChromeOS uniquement

Utilisez l'API chrome.wallpaper pour modifier le fond d'écran ChromeOS.

webAuthenticationProxy
Chrome 115 et versions ultérieures MV3 et versions ultérieures

L'API chrome.webAuthenticationProxy permet au logiciel de bureau à distance exécuté sur un hôte distant d'intercepter les requêtes de l'API WebAuthn (Web Authentication API) afin de les gérer sur un client local.

webNavigation

Utilisez l'API chrome.webNavigation pour recevoir des notifications sur l'état des requêtes de navigation en cours d'exécution.

webRequest

Utilisez l'API chrome.webRequest pour observer et analyser le trafic, et pour intercepter, bloquer ou modifier des requêtes en cours d'exécution.

windows

Utilisez l'API chrome.windows pour interagir avec les fenêtres du navigateur. Vous pouvez utiliser cette API pour créer, modifier et réorganiser des fenêtres dans le navigateur.