Référence de l'API

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

Fonctionnalités courantes de l'API Extensions

Une API Extensions est constituée d'un espace de noms contenant des méthodes et des propriétés permettant de faire fonctionner les extensions. Généralement, mais pas toujours, des champs de 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.

Sauf indication contraire, les méthodes des API d'extension sont asynchrones. Les méthodes asynchrones renvoient immédiatement un résultat, sans attendre pour l'opération qui les appelle à terminer. Utilisez des promesses pour obtenir les résultats de ces méthodes. Pour en savoir plus, consultez la section Méthodes asynchrones.

API Chrome Extension

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 l'API de type pour obtenir et définir des fonctionnalités d'accessibilité individuelles. Pour obtenir les états des fonctionnalités, l'extension doit demander l'autorisation accessibilityFeatures.read. Pour modifier l'état de la fonctionnalité, l'extension doit disposer de l'autorisation accessibilityFeatures.modify. Notez que accessibilityFeatures.modify n'implique pas l'autorisation accessibilityFeatures.read.

action
Chrome (version 88 ou ultérieure) MV3+

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

alarmes

Utilisez l'API chrome.alarms pour planifier l'exécution du code à intervalles réguliers ou à une heure spécifique.

audio
Chrome (version 59 ou 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 qu'en mode Kiosque pour ChromeOS.

favoris

Utilisez l'API chrome.bookmarks pour créer, organiser et manipuler des favoris. Consultez également l'article Remplacer les pages, qui permet de créer une page personnalisée dans le Gestionnaire de favoris.

browsingData

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

certificateProvider
Chrome (version 46 ou ultérieure) ChromeOS uniquement

Utilisez cette API pour exposer des certificats à la plate-forme qui peut les utiliser pour les authentifications TLS.

commandes

Utilisez l'API des commandes 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 ou non des fonctionnalités telles que les cookies, JavaScript et les plug-ins. De manière plus générale, les paramètres de contenu vous permettent de personnaliser le comportement de Chrome pour chaque 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 s'appliquent les éléments du menu contextuel, tels que des images, des liens hypertexte et des 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 moyen de transport alternatif pour le protocole de débogage à distance de Chrome. Utilisez chrome.debugger pour 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 Debuggee pour cibler les onglets avec sendCommand et acheminer les événements par tabId à partir de 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 en lire le contenu.

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. Cela permet aux extensions de modifier les requêtes réseau sans les intercepter ni afficher leur contenu, et ainsi renforcer la confidentialité.

desktopCapture

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

devtools.inspectedWindow

Utilisez l'API chrome.devtools.inspectedWindow pour interagir avec la fenêtre inspectée: obtenez l'ID de l'onglet de 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 de développement dans le panneau "Network".

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 aux panneaux existants et ajoutez des barres latérales.

devtools.performance
En attente

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

devtools.recorder
Chrome 105 ou version ultérieure

Utilisez l'API chrome.devtools.recorder pour personnaliser le panneau "Enregistreur" dans les outils de développement.

dns
<ph type="x-smartling-placeholder"></ph> Version en développement

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

documentScan
Chrome (version 44 ou ultérieure) ChromeOS uniquement

Utilisez l'API chrome.documentScan pour découvrir et récupérer des images à partir des scanners de documents associés.

dim
Chrome (version 88 ou ultérieure)

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

téléchargements

Utilisez l'API chrome.downloads pour programmer, lancer, surveiller, manipuler et rechercher des téléchargements.

enterprise.deviceAttributes
Chrome (version 46 ou ultérieure) ChromeOS uniquement <ph type="x-smartling-placeholder"></ph> Règle obligatoire

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

enterprise.hardwarePlatform
Chrome 71 ou version ultérieure <ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> Règle obligatoire .

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

enterprise.networkingAttributes
Chrome 85 ou version ultérieure ChromeOS uniquement <ph type="x-smartling-placeholder"></ph> Règle obligatoire

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

enterprise.platformKeys
<ph type="x-smartling-placeholder"></ph> ChromeOS uniquement <ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> Règle obligatoire .

Utilisez l'API chrome.enterprise.platformKeys pour générer des clés et installer des certificats pour ces clés. Les certificats seront gérés par la plate-forme et peuvent être utilisés pour l'authentification TLS, l'accès au réseau ou par toute autre extension via chrome.platformKeys.

événements

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

extension

L'API chrome.extension comporte des utilitaires qui peuvent être utilisés par n'importe quelle page d'extension. Il permet l'échange de messages entre une extension et son script 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
<ph type="x-smartling-placeholder"></ph> ChromeOS uniquement Premier plan uniquement

Utilisez l'API chrome.fileBrowserHandler pour étendre l'explorateur de fichiers de Chrome OS. Par exemple, vous pouvez utiliser cette API pour permettre aux utilisateurs d'importer des fichiers sur votre site Web.

fileSystemProvider
<ph type="x-smartling-placeholder"></ph> ChromeOS uniquement

Utilisez l'API chrome.fileSystemProvider pour créer des systèmes de fichiers accessibles à partir du gestionnaire de fichiers sur ChromeOS.

fontSettings

Utilisez l'API chrome.fontSettings pour gérer les paramètres des polices dans Chrome.

gcm

Utilisez chrome.gcm pour permettre aux applications et aux extensions d'envoyer et de recevoir des messages via Firebase Cloud Messaging (FCM).

historique

Utilisez l'API chrome.history pour interagir avec l'enregistrement des pages visitées du navigateur. Vous pouvez ajouter, supprimer et rechercher des URL dans l'historique du navigateur. Pour remplacer la page d'historique par votre propre version, consultez Remplacer les 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.

inactif

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

input.ime
<ph type="x-smartling-placeholder"></ph> ChromeOS uniquement

Utilisez l'API chrome.input.ime afin d'implémenter un IME personnalisé pour Chrome OS. Votre extension pourra ainsi gérer les frappes au clavier, définir la composition et gérer la fenêtre candidate.

instanceID
Chrome (version 44 ou ultérieure)

Accédez au service d'ID d'instance à l'aide de chrome.instanceID.

loginState
Chrome 78 et versions ultérieures 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 afficher ces notifications dans la barre d'état système.

hors écran
Chrome 109 et versions ultérieures MV3+

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

Champ polyvalent

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 des autorisations facultatives déclarées lors de l'exécution plutôt qu'au moment de l'installation, afin que les utilisateurs comprennent pourquoi ces autorisations sont nécessaires et n'accordent 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 la règle accorde l'autorisation, une extension peut utiliser un tel certificat dans son protocole d'authentification personnalisé. Exemple : cette option permet d'utiliser des certificats gérés par la plate-forme dans des VPN tiers (voir chrome.vpnProvider).

alimentation

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

printerProvider
Chrome (version 44 ou 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, interroger leurs fonctionnalités et envoyer des tâches d'impression à ces imprimantes.

impression
Chrome (version 81 ou ultérieure) ChromeOS uniquement

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

printingMetrics
Chrome 79 et versions ultérieures ChromeOS uniquement <ph type="x-smartling-placeholder"></ph> Règle obligatoire

Utilisez l'API chrome.printingMetrics pour récupérer des données sur l'utilisation des impressions.

confidentialité

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

processus
<ph type="x-smartling-placeholder"></ph> Version en 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 proxy de Chrome. Cette API s'appuie sur le prototype ChromeSetting de l'API de type pour obtenir et définir la configuration du proxy.

readingList
Chrome 120 et versions ultérieures MV3+

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, écouter les événements du cycle de vie de l'extension et y répondre. Vous pouvez également utiliser cette API pour convertir le chemin relatif des URL en URL complètes.

écriture de script
Chrome (version 88 ou ultérieure) MV3+

Utilisez l'API chrome.scripting pour exécuter le 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 des onglets et des fenêtres d'une session de navigation.

sidePanel
Chrome 114 ou version ultérieure MV3+

Utilisez l'API chrome.sidePanel pour héberger le contenu du panneau latéral du navigateur avec le contenu principal d'une page Web.

d'espace de stockage

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 périphériques de stockage et recevoir une notification lorsqu'un périphérique de stockage amovible est connecté et déconnecté.

systemLog
Chrome 125 ou version ultérieure ChromeOS uniquement <ph type="x-smartling-placeholder"></ph> Règle obligatoire

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

tabCapture

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

tabGroups
Chrome 89 et versions ultérieures MV3+

Utilisez l'API chrome.tabGroups pour interagir avec le système de regroupement d'onglets du navigateur. Cette API vous permet de modifier et de réorganiser les groupes d'onglets dans le navigateur. Pour regrouper et dissocier des onglets, ou pour rechercher quels onglets se trouvent dans 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 (c'est-à-dire les sites les plus consultés) affichés sur la page "Nouvel onglet". Ils n'incluent pas les raccourcis personnalisés par l'utilisateur.

TC

Utilisez l'API chrome.tts pour lire la synthèse vocale synthétisée. 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 les événements contenant un énoncé à prononcer ainsi que d'autres paramètres lorsqu'une extension ou une application Chrome utilise l'API tts pour générer des paroles. Votre extension peut ensuite utiliser n'importe quelle technologie Web disponible pour synthétiser et émettre le discours, 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+

Utilisez l'API userScripts pour exécuter des scripts utilisateur dans le contexte de 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 ou version ultérieure MV3+

L'API chrome.webAuthenticationProxy permet aux logiciels de bureau à distance exécutés sur un hôte distant d'intercepter les requêtes de l'API Web Authentication (WebAuthn) 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 de transfert.

webRequest

Utilisez l'API chrome.webRequest pour observer et analyser le trafic, ainsi que pour intercepter, bloquer ou modifier les requêtes en cours de transfert.

Windows

Utilisez l'API chrome.windows pour interagir avec les fenêtres du navigateur. Cette API vous permet de créer, modifier et réorganiser des fenêtres dans le navigateur.