La plupart des extensions ont besoin d'accéder à une ou plusieurs API d'extensions Chrome 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.
À partir de Chrome 148, ces API sont également disponibles dans l'espace de noms browser en tant qu'alternative multi-navigateur à chrome. Pour obtenir des conseils sur l'adoption, consultez L'espace de noms du navigateur.
Fonctionnalités courantes de l'API Extensions
Une API d'extensions se compose d'un espace de noms contenant des méthodes et des propriétés pour 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 browser.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 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
-
Utilisez l'API
chrome.accessibilityFeaturespour 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 l'état des fonctionnalités, l'extension doit demander l'autorisationaccessibilityFeatures.read. Pour modifier l'état de la fonctionnalité, l'extension doit disposer de l'autorisationaccessibilityFeatures.modify. Notez queaccessibilityFeatures.modifyn'implique pas l'autorisationaccessibilityFeatures.read. - action
-
Navigateur Chrome 88 ou version ultérieure * depuis Chrome 148 MV3 ou version ultérieure
Utilisez l'API
chrome.actionpour contrôler l'icône de l'extension dans la barre d'outils Google Chrome. - alarms
-
Utilisez l'API
chrome.alarmspour planifier l'exécution du code de manière périodique ou à un moment précis dans le futur. - audio
-
Chrome 59 ou version ultérieure browser.* depuis Chrome 148 ChromeOS uniquement
L'API
chrome.audiopermet 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. - bookmarks
-
Utilisez l'API
chrome.bookmarkspour créer, organiser et manipuler des favoris. Consultez également Remplacer des pages, qui vous permet de créer une page de gestionnaire de favoris personnalisée. - browsingData
-
Utilisez l'API
chrome.browsingDatapour supprimer les données de navigation du profil local d'un utilisateur. - certificateProvider
-
Chrome 46 ou version ultérieure browser.* depuis Chrome 148 ChromeOS uniquement
Utilisez cette API pour exposer des certificats à la plate-forme, qui pourra 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.contentSettingspour 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, plutôt que de manière globale. - contextMenus
-
Utilisez l'API
chrome.contextMenuspour ajouter des éléments au menu contextuel de Google Chrome. Vous pouvez choisir les types d'objets auxquels s'appliquent les ajouts au menu contextuel, comme les images, les liens hypertextes et les pages. - cookies
-
Utilisez l'API
chrome.cookiespour interroger et modifier les cookies, et pour être averti lorsqu'ils changent. - debugger
-
L'API
chrome.debuggersert de transport alternatif pour le protocole de débogage à distance de Chrome. Utilisezchrome.debuggerpour l'associer à 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éDebuggeetabIdpour cibler les onglets avecsendCommandet acheminer les événements partabIdà partir des rappelsonEvent. - declarativeContent
-
Utilisez l'API
chrome.declarativeContentpour effectuer des actions en fonction du contenu d'une page, sans avoir besoin d'une autorisation pour lire le contenu de la page. - declarativeNetRequest
-
Chrome 84+ browser.* depuis Chrome 148
L'API
chrome.declarativeNetRequestpermet 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.inspectedWindowpour 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.networkpour 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.panelspour 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
-
Navigateur Chrome 129 ou version ultérieure * depuis Chrome 152
Utilisez l'API
chrome.devtools.performancepour écouter les mises à jour de l'état de l'enregistrement dans le panneau "Performances" des outils de développement. - devtools.recorder
-
Navigateur Chrome 105 ou version ultérieure * (depuis Chrome 152)
Utilisez l'API
chrome.devtools.recorderpour personnaliser le panneau "Enregistreur" dans les outils de développement. - dns
-
Version en développement
Utilisez l'API
chrome.dnspour la résolution DNS. - documentScan
-
Navigateur Chrome 44 ou version ultérieure * depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.documentScanpour découvrir et récupérer des images à partir de scanners de documents associés. - dom
-
Chrome 88+ browser.* depuis Chrome 148
Utilisez l'API
chrome.dompour accéder aux API DOM spéciales pour les extensions. - téléchargements
-
Utilisez l'API
chrome.downloadspour lancer, surveiller, manipuler et rechercher des téléchargements de manière programmatique. - enterprise.deviceAttributes
-
Utilisez l'API
chrome.enterprise.deviceAttributespour 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
-
Utilisez l'API
chrome.enterprise.hardwarePlatformpour 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 par une règle d'entreprise. - enterprise.login
-
Utilisez l'API
chrome.enterprise.loginpour quitter les sessions Invité gérées. Remarque : Cette API n'est disponible que pour les extensions installées par une règle d'entreprise dans les sessions Invité gérées ChromeOS. - enterprise.networkingAttributes
-
Chrome 85 et versions ultérieures Navigateur.* depuis Chrome 148 ChromeOS uniquement Nécessite une règle
Utilisez l'API
chrome.enterprise.networkingAttributespour 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
-
ChromeOS uniquement Nécessite une règle
Utilisez l'API
chrome.enterprise.platformKeyspour 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 pourront être utilisés pour l'authentification TLS, l'accès au réseau ou par d'autres extensions via chrome.platformKeys. - événements
-
L'espace de noms
chrome.eventscontient les 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.extensiondispose d'utilitaires qui peuvent être utilisés par n'importe quelle page d'extension. Elle 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.extensionTypescontient des déclarations de type pour les extensions Chrome. - fileBrowserHandler
-
ChromeOS uniquement Premier plan uniquement
Utilisez l'API
chrome.fileBrowserHandlerpour étendre le navigateur de fichiers ChromeOS. Par exemple, vous pouvez utiliser cette API pour permettre aux utilisateurs d'importer des fichiers sur votre site Web. - fileSystemProvider
-
ChromeOS uniquement
Utilisez l'API
chrome.fileSystemProviderpour créer des systèmes de fichiers accessibles depuis le gestionnaire de fichiers sur ChromeOS. - fontSettings
-
Utilisez l'API
chrome.fontSettingspour gérer les paramètres de police de Chrome. - gcm
-
Utilisez
chrome.gcmpour permettre aux applications et aux extensions d'envoyer et de recevoir des messages via Firebase Cloud Messaging (FCM). - history
-
Utilisez l'API
chrome.historypour interagir avec l'enregistrement des pages visitées du 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.i18npour implémenter l'internationalisation dans l'ensemble de votre application ou extension. - identity
-
Utilisez l'API
chrome.identitypour obtenir des jetons d'accès OAuth2. - idle
-
Utilisez l'API
chrome.idlepour détecter les changements d'état d'inactivité de l'ordinateur. - input.ime
-
ChromeOS uniquement
Utilisez l'API
chrome.input.imepour implémenter un IME personnalisé pour Chrome OS. Cela permet à votre extension de gérer les frappes, de définir la composition et de gérer la fenêtre des candidats. - instanceID
-
Chrome 44+ browser.* depuis Chrome 148
Utilisez
chrome.instanceIDpour accéder au service Instance ID. - loginState
-
Chrome 78 ou version ultérieure browser.* depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.loginStatepour lire et surveiller l'état de connexion. - vidéos
-
L'API
chrome.managementpermet de gérer les applications et les extensions installées. - mimeHandler
-
Chrome 151 ou version ultérieure
Utilisez l'API
chrome.mimeHandlerpour gérer les flux de types MIME dans les extensions tierces. - notifications
-
Utilisez l'API
chrome.notificationspour créer des notifications enrichies à l'aide de modèles et les afficher dans la barre d'état système. - offscreen
-
Navigateur Chrome 109 ou version ultérieure * depuis Chrome 148 MV3 ou version ultérieure
Utilisez l'API
offscreenpour 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.pageCapturepour enregistrer un onglet au format MHTML. - autorisations
-
Utilisez l'API
chrome.permissionspour demander des autorisations facultatives déclarées au moment de l'exécution plutôt qu'au moment de l'installation. Ainsi, les utilisateurs comprennent pourquoi les autorisations sont nécessaires et n'accordent que celles qui sont requises. - platformKeys
-
Chrome 45 ou version ultérieure browser.* depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.platformKeyspour 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é. Par exemple, cela permet d'utiliser des certificats gérés par la plate-forme dans des VPN tiers (voir chrome.vpnProvider). - power
-
Utilisez l'API
chrome.powerpour ignorer les fonctionnalités de gestion de l'alimentation du système. - printerProvider
-
Chrome 44+ browser.* depuis Chrome 148
L'API
chrome.printerProviderexpose les événements utilisés par le gestionnaire d'impression pour interroger les imprimantes contrôlées par des extensions, interroger leurs fonctionnalités et envoyer des tâches d'impression à ces imprimantes. - printing
-
Chrome 81 et versions ultérieures browser.* depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.printingpour envoyer des travaux d'impression aux imprimantes installées sur un Chromebook. - printingMetrics
-
Utilisez l'API
chrome.printingMetricspour récupérer des données sur l'utilisation de l'impression. - confidentialité
-
Utilisez l'API
chrome.privacypour 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 de type pour obtenir et définir la configuration de Chrome. - processus
-
Version en développement
Utilisez l'API
chrome.processespour interagir avec les processus du navigateur. - proxy
-
Utilisez l'API
chrome.proxypour 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. - publicSuffix
-
Chrome 153 ou version ultérieure
Utilisez l'API
chrome.publicSuffixpour interroger la liste des suffixes publics (PSL) du navigateur. - readingList
-
Navigateur Chrome 120+ * depuis Chrome 148 MV3+
Utilisez l'API
chrome.readingListpour lire et modifier les éléments de la liste de lecture. - runtime
-
Utilisez l'API
chrome.runtimepour récupérer le service worker, renvoyer des détails sur le fichier manifeste, et é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. - script
-
Navigateur Chrome 88 ou version ultérieure * depuis Chrome 148 MV3 ou version ultérieure
Utilisez l'API
chrome.scriptingpour exécuter un script dans différents contextes. - search
-
Chrome 87+ browser.* depuis Chrome 148
Utilisez l'API
chrome.searchpour effectuer une recherche via le fournisseur par défaut. - sessions
-
Utilisez l'API
chrome.sessionspour interroger et restaurer les onglets et les fenêtres d'une session de navigation. - sidePanel
-
Chrome 114+ browser.* depuis Chrome 148 MV3+
Utilisez l'API
chrome.sidePanelpour héberger du contenu dans le panneau latéral du navigateur, à côté du contenu principal d'une page Web. - stockage
-
Utilisez l'API
chrome.storagepour stocker, récupérer et suivre les modifications apportées aux données utilisateur. - system.cpu
-
Utilisez l'API
system.cpupour interroger les métadonnées du processeur. - system.display
-
Utilisez l'API
system.displaypour interroger les métadonnées d'affichage. - system.memory
-
L'API
chrome.system.memory. - system.storage
-
Utilisez l'API
chrome.system.storagepour 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
-
Chrome 125 et versions ultérieures browser.* depuis Chrome 148 ChromeOS uniquement Nécessite une règle
Utilisez l'API
chrome.systemLogpour enregistrer les journaux système Chrome à partir des extensions. - tabCapture
-
Utilisez l'API
chrome.tabCapturepour interagir avec les flux multimédias des onglets. - tabGroups
-
Chrome 89+ browser.* depuis Chrome 148 MV3+
Utilisez l'API
chrome.tabGroupspour 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 d'un groupe, utilisez l'APIchrome.tabs. - onglets
-
Utilisez l'API
chrome.tabspour 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.topSitespour 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.ttspour lire la synthèse vocale (TTS). Consultez également l'APIttsEngineassociée, qui permet à une extension d'implémenter un moteur de synthèse vocale. - ttsEngine
-
Utilisez l'API
chrome.ttsEnginepour 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'APIttspour générer du contenu vocal. Votre extension peut ensuite utiliser n'importe quelle technologie Web disponible pour synthétiser et diffuser la voix, et renvoyer des événements à la fonction appelante pour signaler l'état. - types
-
L'API
chrome.typescontient des déclarations de type pour Chrome. - userScripts
-
Navigateur Chrome 120+ * depuis Chrome 148 MV3+
Utilisez l'API
userScriptspour exécuter des scripts utilisateur dans le contexte des scripts utilisateur. - vpnProvider
-
Chrome 43 ou version ultérieure Navigateur.* depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.vpnProviderpour implémenter un client VPN. - 3D
-
Chrome 43 ou version ultérieure Navigateur.* depuis Chrome 148 ChromeOS uniquement
Utilisez l'API
chrome.wallpaperpour modifier le fond d'écran ChromeOS. - webAuthenticationProxy
-
Chrome 115+ browser.* depuis Chrome 148 MV3+
L'API
chrome.webAuthenticationProxypermet 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 traiter sur un client local. - webNavigation
-
Utilisez l'API
chrome.webNavigationpour recevoir des notifications sur l'état des requêtes de navigation en cours. - webRequest
-
Utilisez l'API
chrome.webRequestpour observer et analyser le trafic, et pour intercepter, bloquer ou modifier les requêtes en cours. - windows
-
Utilisez l'API
chrome.windowspour 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.