La plupart des extensions ont besoin d'accéder à une ou plusieurs API Chrome Extensions pour fonctionner. Cette documentation de référence de l'API décrit les API disponibles pour une utilisation dans les extensions et présente des exemples de cas d'utilisation.
Fonctionnalités courantes 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, des 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 d'extension Chrome
- accessibilityFeatures
-
Utilise 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 type pour obtenir et définir des fonctionnalités d'accessibilité individuelles. Pour obtenir les états des fonctionnalités, l'extension doit demander l'autorisationaccessibilityFeatures.read
. Pour modifier l'état d'une fonctionnalité, l'extension a besoin de l'autorisationaccessibilityFeatures.modify
. Notez queaccessibilityFeatures.modify
n'implique pas l'autorisationaccessibilityFeatures.read
. - action
-
Chrome 88 et versions ultérieures MV3 et versions ultérieures
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 de code à intervalles réguliers ou à une heure spécifique dans le futur. - audio
-
Chrome 59 ou version ultérieure ChromeOS uniquement
L'API
chrome.audio
est fournie pour permettre 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 les favoris. Consultez également Remplacer des pages, qui vous permet de créer une page personnalisée pour 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 46 et versions ultérieures ChromeOS uniquement
Utilise cette API pour divulguer les certificats sur la plate-forme qui peut les utiliser pour les authentifications TLS.
- commands
-
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 pour chaque site, au lieu de le faire 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 ajoutés au menu contextuel, comme les images, les liens hypertexte et les pages. - cookies
-
Utilisez l'API
chrome.cookies
pour interroger et modifier les cookies, et pour être averti lorsqu'ils changent. - debugger
-
L'API
chrome.debugger
sert de transport alternatif pour le protocole de débogage à distance de Chrome. Utilisezchrome.debugger
pour vous attacher à un ou plusieurs onglets afin d'instrumenter l'interaction réseau, de déboguer JavaScript, de modifier le DOM et le CSS, et plus encore. Utilisez la propriétéDebuggee
tabId
pour cibler les onglets avecsendCommand
et acheminer les événements partabId
à partir des rappelsonEvent
. - 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 et versions ultérieures
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, 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 d'onglet de la page inspectée, évaluez le code dans le contexte de la fenêtre inspectée, rechargez 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 "Réseau". - devtools.panels
-
Utilisez l'API
chrome.devtools.panels
pour intégrer votre extension à l'interface utilisateur de la fenêtre "Outils de développement" : créez vos propres panneaux, accédez aux panneaux existants et ajoutez des barres latérales. - devtools.performance
-
Chrome 129 et versions ultérieures
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 et versions ultérieures
Utilisez l'API
chrome.devtools.recorder
pour personnaliser le panneau "Enregistreur" dans les outils de développement. - dns
-
Canal de développement
Utilisez l'API
chrome.dns
pour la résolution DNS. - documentScan
-
Chrome 44 et versions ultérieures 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 et versions ultérieures
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
-
Utilisez l'API
chrome.enterprise.deviceAttributes
pour lire les attributs des appareils. Remarque : Cette API est uniquement disponible 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
Utilise l'API
chrome.enterprise.hardwarePlatform
pour récupérer 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
-
Utilisez l'API
chrome.enterprise.login
pour mettre fin aux sessions utilisateur. Remarque : Cette API n'est disponible que pour les extensions installées par les règles d'entreprise dans les sessions gérées ChromeOS. - enterprise.networkingAttributes
-
Utilisez l'API
chrome.enterprise.networkingAttributes
pour lire des informations sur votre réseau actuel. Remarque : Cette API est uniquement disponible pour les extensions installées d'office par les règles d'entreprise. - enterprise.platformKeys
-
ChromeOS uniquement Nécessite une règle
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 avertir lorsqu'il se passe quelque chose d'intéressant. - extension
-
L'API
chrome.extension
dispose d'utilitaires qui peuvent ê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 Transmission de messages. - extensionTypes
-
L'API
chrome.extensionTypes
contient des déclarations de type pour les extensions Chrome. - fileBrowserHandler
-
ChromeOS uniquement Premier plan uniquement
Utilise l'API
chrome.fileBrowserHandler
pour étendre les fonctionnalités de l'explorateur de fichiers ChromeOS. Par exemple, vous pouvez vous en servir pour autoriser les utilisateurs à importer des fichiers sur votre site Web. - fileSystemProvider
-
ChromeOS uniquement
Utilise 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 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'historique des pages visitées du navigateur. Vous pouvez ajouter, supprimer et interroger des URL dans l'historique du navigateur. Pour remplacer la page de l'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 extension. - identity
-
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
Utilise l'API
chrome.input.ime
pour implémenter un IME personnalisé pour ChromeOS. Cela permet à votre extension de gérer les frappes au clavier, de définir la composition et de gérer la fenêtre de candidats. - instanceID
-
Chrome 44 et versions ultérieures
Utilisez
chrome.instanceID
pour accéder au service Instance ID. - 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 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. - offscreen
-
Chrome 109 et versions ultérieures MV3 et versions ultérieures
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 des autorisations optionnelles 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'accorderont que celles qui le sont. - platformKeys
-
Chrome 45 et versions ultérieures 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 et versions ultérieures
L'API
chrome.printerProvider
affiche 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 et versions ultérieures ChromeOS uniquement
Utilisez l'API
chrome.printing
pour envoyer des tâches d'impression aux imprimantes installées sur le Chromebook. - printingMetrics
-
Utilisez l'API
chrome.printingMetrics
pour récupérer 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 qui peuvent affecter la confidentialité d'un utilisateur. Cette API s'appuie sur le prototype ChromeSetting de l'API type pour obtenir et définir la configuration de Chrome. - processus
-
Canal 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 l'API type pour obtenir et définir la configuration du proxy. - readingList
-
Chrome 120+ 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, 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. - scripting
-
Chrome 88 et versions ultérieures MV3 et versions ultérieures
Utilisez l'API
chrome.scripting
pour exécuter le script dans différents contextes. - search
-
Chrome 87 et versions ultérieures
Utilisez l'API
chrome.search
pour effectuer des recherches avec 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 et versions ultérieures MV3 et versions ultérieures
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 périphériques de stockage et être averti lorsqu'un périphérique de stockage amovible est connecté ou déconnecté. - systemLog
-
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 et versions ultérieures MV3+
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 savoir quels onglets se trouvent dans des groupes, utilisez l'APIchrome.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 du navigateur. - topSites
-
Utilisez l'API
chrome.topSites
pour accéder aux sites les plus consultés qui s'affichent sur la page "Nouvel onglet". Cela n'inclut pas les raccourcis personnalisés par l'utilisateur. - tts
-
Utilisez l'API
chrome.tts
pour lire du texte synthétisé par synthèse vocale. Consultez également l'APIttsEngine
associée, qui permet à une extension d'implémenter un moteur vocal. - 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 un énoncé à prononcer et d'autres paramètres lorsqu'une extension ou une application Chrome utilise l'APItts
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, et 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+ MV3+
Utilisez l'API
userScripts
pour exécuter des scripts utilisateur dans le contexte des scripts utilisateur. - vpnProvider
-
Chrome 43 et versions ultérieures ChromeOS uniquement
Utilisez l'API
chrome.vpnProvider
pour implémenter un client VPN. - 3D
-
Chrome 43 et versions ultérieures 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 à distance d'intercepter les requêtes de l'API Web Authentication (WebAuthn) afin de les traiter sur un client local. - webNavigation
-
Utilisez l'API
chrome.webNavigation
pour recevoir des notifications sur l'état des requêtes de navigation en cours. - webRequest
-
Utilisez l'API
chrome.webRequest
pour observer et analyser le trafic, et pour intercepter, bloquer ou modifier les requêtes en cours. - 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.