Consultez régulièrement cette page pour en savoir plus sur les modifications apportées aux extensions Chrome, sur la documentation relative aux extensions, sur les règles associées ou sur d'autres modifications. Vous trouverez les autres avis publiés sur le groupe Google Extensions. Le calendrier Chrome indique les dates des versions stable et bêta.
Chrome 128: mise en correspondance des en-têtes de réponse dans les requêtes Declarative Net Request
À partir de Chrome 128, la mise en correspondance des en-têtes de réponse sera prise en charge dans l'API Declarative Net Request. Il s'agissait d'une demande fréquente, notamment pour la mise en correspondance de l'en-tête "Content-Type". Nous avons donc conçu une API adaptée en collaboration avec le groupe de la communauté WebExtensions.
Nous avons mis à jour notre documentation de référence sur les API pour inclure les nouveaux champs responseHeaders
et excludedResponseHeaders
. Vous pouvez les utiliser pour vérifier l'existence et la valeur d'un en-tête donné.
Dans le cadre de cette mise à jour, nous avons ajouté une section d'évaluation des règles à notre documentation, qui explique comment les règles sont mises en correspondance. Concernant la mise en correspondance des en-têtes en particulier, les règles ne peuvent s'exécuter qu'une fois que les en-têtes de réponse ont été reçus. Elles sont donc appliquées à un stade ultérieur par rapport aux autres règles. Cela signifie que la requête atteint le serveur avant d'être bloquée ou redirigée.
Vidéo: Que sont les scripts de contenu ?
Découvrez les scripts de contenu des extensions Chrome, y compris comment enregistrer des fichiers CSS et JavaScript pour qu'ils s'exécutent sur une page spécifique. Regardez la vidéo complète.
Modifications importantes apportées aux règles
L'équipe du Chrome Web Store a publié une série de mises à jour sur la page du Règlement du programme pour les développeurs afin d'encourager le développement de produits de haute qualité, d'empêcher les comportements trompeurs et de garantir le consentement éclairé de l'utilisateur. Rebecca Soares, gestionnaire de règles du Chrome Web Store, a résumé toutes les mises à jour dans l'article de blog Extensions Chrome: mises à jour importantes des règles.
Article de blog: What's check in Chrome Extensions, juillet 2024
Au cours des trois derniers mois, nous avons déployé plusieurs mises à jour importantes et de nouvelles fonctionnalités, y compris le début de l'abandon de Manifest V2. Familiarisez-vous avec les nouveautés concernant les extensions Chrome, édition de juillet.
Vidéo: Qu'est-ce qu'un code hébergé à distance ?
Patrick, de l'équipe des extensions Chrome, explique le concept du code RHC (Remotely Hosted Code) dans les extensions Chrome. Découvrez pourquoi RHC n'est plus autorisé, comment le détecter et que faire si votre extension doit être mise à jour. Regardez la vidéo complète.
Chrome 127: nouvelle API action.openPopup
À partir de Chrome 127, la action.openPopup
L'API est disponible pour toutes les extensions. Auparavant, il n'était disponible que dans la version Canary.
ou aux extensions installées par une règle.
Vidéo: Confiance et Entretien avec l'équipe de sécurité
L'équipe DevRel des extensions Chrome a rencontré l'équipe Trust & équipe chargée de la sécurité qui mène l'examen dans le Chrome Web Store pour poser vos questions. Regardez la vidéo complète.
Article de blog: Début de l'arrêt de Manifest V2
À compter du 3 juin sur les versions bêta, en développement et Canary de Chrome, si les utilisateurs ont toujours des extensions Manifest V2, une bannière d'avertissement s'affichera sur la page de gestion des extensions (chrome://extensions) pour les informer que certaines extensions (Manifest V2) qu'ils ont installées ne seront bientôt plus compatibles. Pour en savoir plus, consultez l'annonce officielle.
Mises à jour de l'interface utilisateur du panneau latéral
Nous avons récemment apporté des modifications à l'interface du panneau latéral, y compris l'ajout d'une icône en forme de punaise et en supprimant l'icône du panneau latéral global. Pour en savoir plus, consultez l'annonce d'intérêt public, ainsi que la documentation mise à jour et des exemples.
Article de blog: Extensions Chrome lors de la conférence Google I/O 2024
Une nouvelle conférence Google I/O est derrière nous, et nous avons abordé toutes les nouveautés intéressantes en matière d'extensions. Accédez à YouTube pour regarder la vidéo complète et lire notre article de blog pour connaître certains des temps forts.
Ignorer l'examen pour déterminer si des modifications éligibles de la demande nette déclarative existent
Le Chrome Web Store vous permet désormais d'ignorer l'examen des modifications éligibles l'API Declarative Net Request. En savoir plus sur les critères d'éligibilité et la procédure d'activation dans la documentation du Chrome Web Store.
deployPercentage disponible dans l'API Chrome Web Store
Nous avons récemment mis à jour notre documentation sur l'API Chrome Web Store pour inclure des informations sur deployPercentage
, qui vous permet d'attribuer un pourcentage d'un déploiement partiel. En savoir plus sur deployPercentage
Chrome 126: phases d'évaluation dans les extensions
Chrome 126 introduit un nouveau champ manifest.json nommé trial_tokens
, qui vous permet d'activer les phases d'évaluation et d'abandon sur toutes les surfaces d'extension. Pour en savoir plus, consultez ce guide.
Article de blog: Que deviennent les extensions Chrome ? Avril 2024
Nous avons publié une nouvelle édition des Nouveautés concernant les extensions Chrome. Ce post évoque les travaux sur lesquels l'équipe chargée des extensions a travaillé ces derniers mois. Par exemple: rollback de version dans le Chrome Web Store, meilleure compatibilité avec Firebase Auth, lancements et mises à jour d'API supplémentaires.
Rollbacks de versions dans le tableau de bord du développeur du Chrome Web Store
Effectuez un rollback de votre extension vers la version précédente publiée dans le Chrome Web Store, sans examen supplémentaire. Pour en savoir plus, consultez cet article de blog et la documentation.
Chrome 124: API Advanced documentScan
Une API documentScan
avancée
est désormais disponible sur ChromeOS pour découvrir et récupérer des images à partir de pièces jointes
scanners de documents.
Chrome 124: Compatibilité WebGPU avec les service workers
Depuis Chrome 124, les service workers sont compatibles avec WebGPU. Pour une un démarrage rapide, consultez l'exemple d'extension WebGPU.
Chrome 123: l'API Events est compatible avec le filtrage par blocs CIDR
L'API Events est désormais compatible avec le filtrage.
par bloc CIDR (Classless Inter-Domain Routing). Un bloc CIDR est un ensemble
Adresses IP qui partagent un préfixe réseau et le même nombre de bits. Auparavant,
Un développeur devant filtrer plusieurs adresses IP nécessaires à la configuration d'un filtre
pour chacune des adresses de la plage de blocage. Lorsqu'une extension appelle
addListener()
, une règle transmise signifie que le gestionnaire d'événements n'est appelé
Lorsque la partie hôte d'une URL est une adresse IP contenue dans une plage CIDR
blocs spécifiés dans un tableau.
Chrome Web Store: modifications apportées aux exigences concernant la longueur des noms d'extensions
Sur le Chrome Web Store, la limite universelle de 75 caractères
"name"
de l'extension dans
manifest.json. Auparavant, la limite pour l'anglais était de 45 caractères,
n'était pas de restriction au champ "name"
dans les autres paramètres régionaux.
À l'origine, cela avait pour but de tenir compte des différences culturelles et linguistiques qui ne peuvent pas être capturées avec le même nombre de caractères. Malheureusement, cette fonctionnalité a été utilisée de manière abusive par un petit nombre de développeurs pour envoyer du spam au magasin. En tant que résultat, nous introduisons une nouvelle limite universelle, passant à 75 caractères. Cette limite concerne presque toutes les extensions actuellement disponibles sur le Play Store. Il est donc peu probable une action de votre part est requise à la suite de ce changement. Si vous essayez d'importer un dont le nom est supérieur à la limite maximale, l'importation sera bloqués par le magasin.
Article de blog: test d'eyeo pour la suspension d'un service worker
Dans ce post de l'équipe Extension Engine de eyeo, nous explorons le problème des tests des service workers d'extensions. Dans Manifest V2, les extensions se trouvaient en arrière-plan, qui étaient activées pendant tout le cycle de vie de l'extension. Manifest V3 utilise des service workers et des service workers par nature, préserver les ressources en s'arrêtant quand elles ne sont plus nécessaires. Elle présente certaines difficultés liées aux tests. Ce post vous explique commenteyeo a relevé ces défis.
Chrome 123: les alarmes s'exécutent désormais lorsque l'appareil est en veille
Alarmes définies à l'aide de l'API chrome.alarms
ne sont plus retardés lors de la mise en veille d'un appareil. Lorsque l'appareil est réactivé,
l'alarme se déclenchera une fois, quel que soit le nombre d'alarmes manquées. Par exemple, supposons que
une alarme doit se déclencher une fois par heure et l'appareil sur lequel elle est allumée est en veille
00h55 à 2h05, seule l'alarme de 2h00 déclenche l'événement onAlarm
.
Il se déclenchera le plus près possible de 2h00, et immédiatement lorsqu'un appareil sera activé
s'il était endormi.
Cette modification permet d'aligner Chrome sur le comportement convenu au sein du groupe de la communauté des extensions Web.
Article de blog: Modifications du comportement du cache amélioré avec les ports de message des extensions
Le cache amélioré (bfcache) est un navigateur.
qui permet de naviguer instantanément
dans les deux sens. Début dans
Chrome 123, lorsqu'une page avec un port d'extension ouvert est stockée dans le cache amélioré, le
le canal de messagerie est fermé, ce qui signifie qu'aucun message ne sera envoyé vers cette page.
Par conséquent, les scripts d'extension doivent écouter les événements de cycle de vie tels que
onDisconnect
, puis configurez une nouvelle connexion lorsque la page est restaurée à partir de BFCache.
Pour en savoir plus et obtenir un exemple de code, consultez Modifications du comportement de BFCache avec les ports de message de l'extension.
Chrome 122: garantir la compatibilité avec les API d'extension asynchrones
Nous avons terminé la prise en charge de Promise pour toutes les API d'extension asynchrone
méthodes. L'objectif était de moderniser les méthodes d'API en améliorant l'ergonomie
la gestion des opérations asynchrones. Plusieurs méthodes (par exemple,
desktopCapture.chooseDesktopMedia()
) continuent de ne prendre en charge que les rappels
car leurs surfaces actuelles ne sont pas compatibles avec les promesses. Pour vers l'arrière
la compatibilité, les rappels sont toujours pris en charge. Si une promesse échoue,
veuillez signaler un bug.
Nouveaux conseils pour la communication en temps réel
Nous venons de publier des guides sur les options en temps réel des extensions. Les mises à jour en temps réel vous permettent de communiquer instantanément entre vos serveurs et vos installations d'extensions. De plus, nous avons ajouté de nouvelles consignes concernant l'utilisation de chrome.gcm et de Web Push.
Nouveaux conseils et exemple: tester l'arrêt d'un service worker
Nous venons de publier un guide expliquant comment tester la résiliation d'un service worker avec Puppeteer. L'exemple d'accompagnement le démontre dans Puppeteer et Selenium.
Mise à jour de l'exemple pour la messagerie native
Nous venons de publier un exemple mis à jour pour la messagerie native. Cette API permet à votre extension de démarrer et de communiquer avec une autre application. Merci au contributeur de GitHub Shubham-Rasal pour le travail à ce sujet.
Chrome 121: nouvelle propriété lastAccessed sur les onglets.
Une propriété nommée lastAccessed
a été ajoutée à l'objet tabs.Tab
. Cette propriété indique la date de la dernière activation de l'onglet. La valeur renvoyée est exprimée en millisecondes depuis l'epoch.
Chrome 121 : "arrière-plan" non compatible les clés génèrent désormais un avertissement
Lors du passage de Manifest V2 à Manifest V3, les enfants de la clé manifeste "background"
ont été modifiés pour permettre le remplacement des scripts en arrière-plan par des service workers d'extensions. Auparavant, l'ajout des clés Manifest V2 "scripts"
, "page"
ou "persistent"
à la clé "background"
d'une extension Manifest V3 générait une erreur. La présence de ces clés déclenche désormais un avertissement.
Cela permet d'utiliser un seul fichier manifeste dans les extensions de plusieurs navigateurs, conformément à une proposition dans le groupe de la communauté.
Chrome 120: précision minimale des alarmes réduite à 30 secondes
À partir de Chrome 120, les extensions Manifest V3 peuvent utiliser l'API chrome.alarms
avec des retards ou des périodes de 30 secondes, au lieu d'exiger des valeurs de 60 secondes ou plus.
Article de blog: Reprise de la transition vers Manifest V3
Le calendrier de prise en charge de Manifest V2 a été mis à jour. Pour en savoir plus, consultez notre article de blog de novembre 2023.
Article de blog: Améliorations apportées au filtrage du contenu dans Manifest V3
Pour découvrir comment nous avons amélioré l'API déclarativeNetRequest, consultez notre nouvel article de blog.
Article de blog: Nouveautés de Chrome 120 pour les extensions
La version bêta de Chrome 120 a été publiée récemment. Pour obtenir un résumé des mises à jour importantes destinées aux développeurs d'extensions, consultez notre nouvel article de blog: Nouveautés de Chrome 120 pour les extensions. Cette version marque également une étape majeure, car elle supprime les deux derniers éléments (userScripts, gestionnaire de fichiers sur ChromeOS) de la liste des failles critiques de la plate-forme.
Message d'intérêt public: modification de la gestion des URL des règles de confidentialité dans le tableau de bord du développeur
Les règles de confidentialité du tableau de bord du développeur sont désormais ajoutées au niveau des articles. Cela vous permet de fournir des règles de confidentialité différentes pour chaque article. En savoir plus dans notre PSA.
Vidéo: discussion avec Matt Frisbie
Nous venons de publier une nouvelle vidéo sur la chaîne YouTube Chrome pour les développeurs qui discute avec Matt Frisbie, expert en développement Google et auteur. Regarder cliquez ici.
Nouvelles consignes pour tester les extensions
Nous venons de publier de nouveaux conseils sur l'écriture de tests automatisés pour les extensions, y compris sur l'écriture de tests unitaires, et les deux. conseils généraux et ce tutoriel sur les tests de bout en bout.
Article de blog: Informations concernant les extensions Chrome – Octobre 2023
Nous venons de publier la deuxième édition des What's Happening in Chrome Extensions. Ce post décrit les travaux de l'équipe d'extensions sur lesquels l'équipe d'extensions a travaillé ces derniers mois, y compris la résolution des problèmes de stabilité des service workers et la résolution de tous les écarts de la plate-forme MV3. Nous vous communiquons également les prochaines versions intéressantes de l'API, telles que les API Reading List et User Scripts.
Augmentation des limites des ensembles de règles statiques dans l'API Declarative Net Request
Suite aux commentaires sur les extensions Web nous augmentons considérablement la limite d'ensembles de règles statiques activés de 10 à 50. En outre, nous faisons passer le nombre total d'ensembles de règles statiques autorisés de 50 à 100. C'est actuellement disponibles dans Canary.
Amélioration des conseils sur le code hébergé à distance
Manifest V3 exige que les extensions n'utilisent plus le code hébergé à distance. Cette section fait partie de notre guide de migration depuis le début, mais nous avons pensé qu'il était utile d'améliorer les conseils à ce sujet. Cette page fournit désormais plus d'informations, en décrivant les possibilités qui s'offrent encore à vous dans Manifest V3 et sur les stratégies de mise à niveau.
Il existe un ajout associé à la section Résoudre les problèmes de non-respect des règles du Chrome Web Store. Une nouvelle section décrit les raisons courantes pour lesquelles les extensions avec du code hébergé à distance sont refusées.
Chrome 118: isUrlFilterCaseSensitive est désormais défini sur "false" par défaut
À partir de Chrome 118, la isUrlFilterCaseSensitive
dans chrome.declarativeNetRequest
L'API est désormais définie par défaut sur false
. Si vous souhaitez conserver l'ancien comportement, vous pouvez définir explicitement isUrlFilterCaseSensitive
sur true
dans
vos règles declarativeNetRequest.
(voir les discussions relatives aux extensions Web Groupe de la communauté. Firefox et Safari ont déjà mis en œuvre un changement similaire.
Documentation sur les cookies et les API de stockage Web
Nous avons publié un nouveau guide sur le fonctionnement des API de cookies et de stockage Web dans les extensions Chrome. Il comprend des détails sur les modifications du partitionnement des cookies et du stockage dans Privacy Sandbox, un projet en cours visant à abandonner les cookies tiers de la création d'une série de nouvelles API de plate-forme Web et des détails sur leur fonctionnement dans les extensions.
Exemples d'extensions désormais inclus dans l'index de recherche
Nous avons récemment créé une page qui vous permet de rechercher des exemples d'extensions Chrome. La page de recherche comporte plusieurs options. Un champ de recherche vous permet de rechercher du texte dans des exemples de titres. Vous pouvez limiter la recherche par autorisation ou par API d'extension. Un filtre supplémentaire vous permet de limiter la recherche à des exemples d'API ou d'exemples fonctionnels (cas d'utilisation).
Cette nouvelle page d'exemple a été créée par Xuezhou Dai, un participant au programme Google Summer of Code, qui a également ajouté plusieurs nouveaux exemples. Pour en savoir plus sur leur expérience l'été dernier, consultez leur article sur notre blog.
Comme précédemment, nos exemples de code sont toujours disponibles sur GitHub pour le clonage ou la duplication.
Chrome 118: Modifications apportées à l'ouverture du fichier: URL des schémas
À partir de Chrome 118, les extensions devront activer l'option "Autoriser l'accès aux URL de fichiers" activé sur la page chrome://extensions
pour ouvrir des URL de schéma file:// à l'aide des API Tabs ou Windows. Vous pouvez vérifier cet accès de manière programmatique en appelant chrome.extension.isAllowedFileSchemeAccess()
. Firefox limite déjà les URL de fichiers. Safari prend en charge cette modification. Pour en savoir plus, lisez ce post dans le groupe Google sur les extensions.
Chrome 117: Protections des URL étendues dans la navigation dans l'API des extensions
Auparavant, la navigation déclenchée par des appels à l'API d'extension pour tabs.update()
, tabs.create()
et windows.create()
générait une erreur pour certaines URL chrome://. De plus, l'appel de tabs.update()
avec une URL JavaScript était interdit. Dans la version 117, ces protections sur les URL JavaScript ont été étendues à la méthode tabs.create()
et un certain nombre d'URL chrome:// supplémentaires ont été ajoutées à la liste des URL interdites, qui s'applique à toutes les méthodes mentionnées précédemment.
Amélioration des conseils pour l'API déclarativeNetRequest
L'API chrome.declarativeNetRequest
bloque ou modifie 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, protégeant ainsi la confidentialité des utilisateurs. Elle est également délicate à utiliser. Dans cette optique, nous avons réécrit les consignes de façon à donner une vision plus claire de la façon d'implémenter des ensembles de règles déclaratives. Lisez la nouvelle section en cliquant sur le lien ci-dessus.
Utiliser votre compte Google Analytics avec le Chrome Web Store
Le Chrome Web Store propose une intégration avec Google Analytics, ce qui vous permet de consulter des données analytiques sur votre fiche Chrome Web Store en plus de l'affichage proposé dans le tableau de bord du développeur. Pour en savoir plus, consultez Utiliser votre compte Google Analytics avec le Chrome Web Store.
Chrome 115: étapes par défaut des outils de développement par rapport aux scripts de contenu
Les scripts de contenu injecté se trouvent désormais par défaut dans la liste d'éléments à ignorer des outils de développement. Cela n'affecte pas les points d'arrêt, mais cela signifie que les scripts de contenu seront ignorés lors du débogage et que les exceptions de ces scripts seront ignorées. Lorsqu'un script de contenu est ouvert dans l'onglet Sources, une bannière vous avertit s'il est activé et vous offre la possibilité de le supprimer de la liste des éléments à ignorer. Pour désactiver ce comportement, ouvrez les outils de développement, accédez à Settings (Paramètres), puis à Ignore list (Liste des éléments à ignorer). Pour en savoir plus, consultez Nouveautés des outils de développement.
Chrome 116 (bêta) : plus d'espace
Chrome 116 est une version importante pour les extensions. Vous pouvez désormais ouvrir les panneaux latéraux par programmation. Une nouvelle méthode vous permet de savoir s'il existe un document hors écran actif. Plusieurs améliorations ont été apportées aux service workers. Dans la phase 116, le nombre d'améliorations est suffisant pour que nous ayons publié un article de blog décrivant chacune d'elles. Chrome 116 est en version bêta depuis le 19 juillet.
Article de blog: Informations concernant les extensions Chrome
Nous venons de publier un aperçu des modifications et améliorations apportées aux extensions cette année. Cet article présente les grandes nouveautés de l'année, notamment l'API Side Panel, les améliorations des service workers et les documents hors écran. Vous aurez également un aperçu de nos projets pour ce trimestre. L'article en propose bien plus, avec des liens vers tous les liens.
Nouveaux conseils et exemple: Découvrez comment utiliser Google Analytics 4 dans votre extension Chrome
Nous avons publié de nouveaux exemples et conseils concernant Google Analytics et la géolocalisation:
- Version actualisée de nos conseils Google Analytics expliquant comment utiliser Google Analytics 4 dans votre extension Chrome. Nous avons également ajouté un exemple Google Analytics 4 fonctionnel à notre dépôt d'exemples GitHub. Consultez
google-analytics.js
pour obtenir le code approprié pour Google Analytics. - Un nouveau guide sur la géolocalisation et trois exemples montrant comment accéder à la géolocalisation dans les service workers, les scripts de contenu, les fenêtres pop-up et les panneaux latéraux.
Chrome 115: spécifiez plusieurs raisons dans chrome.offscreen.createDocument()
Vous pouvez maintenant spécifier plusieurs énumérations reason
lorsque vous appelez chrome.offscreen.createDocument()
. Utilisez cette option lorsqu'un document hors écran est destiné à différentes fins. Le navigateur utilise les motifs fournis pour déterminer la durée de vie du document hors écran.
Nouvel outil: outil de test de mise à jour d'extension
Nous venons de lancer l'outil de test de mise à jour des extensions, un serveur local de mise à jour des extensions qui permet de tester les mises à jour des extensions Chrome pendant le développement local, y compris pour l'octroi d'autorisations. L'outil affiche le flux de mise à jour de l'utilisateur, y compris le fait de garder une extension désactivée jusqu'à ce que l'utilisateur accorde les nouvelles autorisations demandées. Cet outil est particulièrement utile pour simuler les modifications d'autorisation demandées lors de la mise à jour d'une extension de Manifest V2 vers Manifest V3.
Chrome 114: nouvelle API Side Panel
Découvrez la nouvelle API Side Panel, une surface associée qui permet aux utilisateurs d'accéder à des outils en même temps que le contenu qu'ils consultent. Pour en savoir plus, consultez la documentation de référence de l'API Side Panel. De plus, nous avons ajouté de nombreux exemples de panneaux latéral à notre dépôt d'exemples GitHub. Nous partageons également plus d'informations sur les panneaux latéraux dans le nouvel article de blog Concevoir une expérience utilisateur de qualité supérieure avec la nouvelle API Side Panel. Nous avons également passé en revue nos Consignes relatives à la qualité et nos bonnes pratiques afin de fournir des conseils supplémentaires sur la création d'extensions de panneau latéral de haute qualité.
Vos commentaires sont importants pour la création de cette API. faites-nous part de vos idées et de vos demandes de fonctionnalités dans les chromium-groups. Nous vous communiquerons prochainement de nouvelles informations à ce sujet, car nous continuons d'améliorer l'API Side Panel.
Nouveaux exemples: WASM dans les extensions
Deux nouveaux exemples sont disponibles et montrent comment utiliser WASM dans une extension:
- L'article Utiliser WASM dans Manifest V3 indique la méthode générale pour inclure un module WASM.
- L'article Utiliser WASM en tant que module dans Manifest V3 montre comment l'utiliser dans un module.
Nous remercions tout particulièrement le contributeur GitHub @daidr pour ces exemples.
Mise à jour des conseils de migration vers Manifest V3
Nous avons mis à jour la section Problèmes connus de nos conseils de migration avec Manifest V3 en y ajoutant une liste actualisée des lacunes de la plate-forme d'extensions que nous avons l'intention de combler avant d'annoncer un nouveau calendrier d'abandon de Manifest V2.
Enregistrement audio et vidéo avec Manifest V3
Nous venons de publier un nouvel article intitulé Enregistrement audio et capture d'écran, qui explique comment enregistrer du contenu audio ou vidéo à partir d'un onglet, d'une fenêtre ou d'un écran dans Manifest V3. Cet article décrit plusieurs approches d'enregistrement impliquant l'API chrome.tabCapture
et la fonction getDisplayMedia()
.
Chrome 114: augmentation du quota storage.local
Nous avons augmenté le quota de la propriété storage.local
à environ 10 Mo. Il a été accepté dans le groupe communautaire des extensions Web. Cela permet d'aligner storage.local
sur storage.session
, qui a été modifié dans Chrome 112.
Nouveau tutoriel et aide sur les service workers d'extensions
Les service workers font partie intégrante des extensions Chrome. Nous venons de publier un tutoriel expliquant les principes de base de l'enregistrement, du débogage et de l'interaction avec les service workers. Nous avons également ajouté un nouveau Guide des service workers qui explique plus en détail les concepts importants. Nous élargirons cette section dans les mois à venir.
Autres conseils de dépannage pour les cas de non-respect des règles du Web Store
Pour faciliter la publication dans le Chrome Web Store, nous avons ajouté de nouvelles consignes dans deux domaines. Les conseils sur les fonctionnalités minimales visent à offrir aux utilisateurs des avantages et à enrichir leur expérience de navigation. Les consignes relatives aux annonces affiliées consistent à informer les utilisateurs des extensions qui utilisent des liens ou des codes d'affiliation pour la monétisation, et à leur donner un certain contrôle en exigeant une action de l'utilisateur avant l'inclusion.
Nouvelles instructions pour le convertisseur de fichier manifeste d'extension
Nous avons réécrit le fichier README de Extension Manifest Converter afin de faciliter la compréhension de la procédure à suivre après l'exécution de l'outil. Le convertisseur permet de migrer les extensions basées sur Manifest V2 vers Manifest V3. Le nouveau fichier README décrit le fonctionnement de l'outil à l'aide de mots correspondant étroitement à ceux de la checklist du guide de migration. Le convertisseur ne fait pas tout, mais il élimine de nombreuses tâches qui ne nécessitent pas d'intervention humaine.
Chrome 113: nouveaux motifs d'affichage hors écran des documents
Nous avons ajouté deux nouveaux types de motifs à l'API Offscreen Documents. Utilisez LOCAL_STORAGE
pour accéder à l'API localStorage de la plate-forme Web. Utilisez WORKER
lorsque vous créez des nœuds de calcul Web.
Google Analytics 4 désormais dans le tableau de bord du développeur
Le tableau de bord du développeur Chrome Web Store est désormais compatible avec Google Analytics 4 (GA4). Nous avons simplifié la configuration de Google Analytics et la gestion des accès pour les éditeurs de groupe. Si vous utilisiez auparavant Google Universal Analytics pour suivre l'activité de votre fiche Play Store, vous devrez prendre des mesures d'ici le 1er juillet 2023 pour continuer à recevoir des données la concernant. Pour en savoir plus, consultez cet article sur le groupe Google Chromium Extensions.
L'API File Handling arrive sur ChromeOS
L'API File Handler peut être testée sur ChromeOS en Canary pour les versions 112 et 113. Il permet aux extensions de ChromeOS d'ouvrir des fichiers avec les types MIME et les extensions de fichier spécifiés. Pour implémenter la gestion de fichiers, ajoutez un ensemble de règles à manifest.json
. Cette fonctionnalité fonctionne de la même manière que pour les progressive web apps. Pour en savoir plus, consultez cet article sur ce site.
Pour activer la gestion de fichiers:
- À partir de la version 112, lancez Chrome à l'aide de l'indicateur
--enable-features=ExtensionWebFileHandlers
(à partir de la version 112) - À partir de la version 113, collez
os://flags/#extension-web-file-handlers
dans l'omnibox Chrome et sélectionnez "Activé" dans le menu déroulant.
Nous espérons lancer cette fonctionnalité dans Chrome 115 fin juin. Surveillez cet espace pour vous tenir informé.
Nouveaux exemples: déclarations dynamiques et injection programmatique
Nous avons créé un nouvel exemple pour l'API chrome.scripting
. Elle illustre les déclarations dynamiques, avec lesquelles un script de contenu est enregistré au moment de l'exécution, et l'injection programmatique, où un script est exécuté dans un onglet déjà ouvert.
Nouveaux échantillons: cas d'utilisation de la requête nette déclarative
Trois nouveaux exemples sont disponibles pour illustrer l'API Declarative Net Request. Chacun d'eux illustre l'implémentation d'un cas d'utilisation unique. La première montre comment bloquer les cookies. Les deux autres sont des URL de blocage et de redirection.
Chrome 112: augmentation du quota storage.session
À partir de Chrome 112, le quota pour la propriété storage.session
a été augmenté à environ 10 Mo. Cette modification a été approuvée par le groupe de la communauté des extensions Web: https://github.com/w3c/webextensions/issues/350
Chrome 109: Documents hors écran
Les documents hors écran sont désormais disponibles dans les extensions Manifest V3. Ils facilitent la transition des pages en arrière-plan vers les service workers d'extensions en assurant la prise en charge des fonctionnalités et des API liées au DOM. Pour en savoir plus, consultez cet article de blog.
Chrome 110: une extension est-elle activée ?
La méthode chrome.action.isEnabled()
vérifie de manière programmatique si une extension a été activée pour un onglet spécifique. Cela vous évite de conserver l'état activé de vos onglets. Cette nouvelle méthode utilise un ID d'onglet et une référence à un rappel et renvoie une valeur booléenne. Elle présente une limitation: les onglets créés à l'aide de chrome.declarativeContent
renvoient toujours "false".
(L'espace de noms chrome.action
a récemment obtenu de nouvelles méthodes pour contrôler l'apparence des badges d'extension. Pour en savoir plus, consultez la section Définir les couleurs du badge.)
Chrome 110: modification du délai d'inactivité d'un service worker
Auparavant, un service worker d'extension s'arrêtait fréquemment au bout de cinq minutes. Nous avons modifié ce comportement pour qu'il ressemble davantage à la durée de vie d'un service worker sur le Web. Un service worker d'extension est arrêté après 30 secondes d'inactivité ou si le traitement d'une seule activité prend plus de 5 minutes. Pour en savoir plus, consultez la section Durée de vie prolongée des service workers d'extensions.
Post: Suspension de l'arrêt de Manifest V2
Le calendrier d'abandon de Manifest V2 est en cours d'examen et les tests prévus pour début 2023 sont reportés. Pour plus d'informations, consultez cette mise à jour dans le groupe Google "chromium-extensions".
Chrome 110: Définir les couleurs du badge
L'espace de noms chrome.action
comporte deux nouvelles méthodes pour vous donner plus de contrôle sur les badges d'extension d'apparence. Les méthodes setBadgeTextColor()
et getBadgeTextColor()
permettent à une extension de modifier et d'interroger la couleur du texte du badge de son icône de barre d'outils. Lorsqu'elles sont utilisées avec setBadgeBackgroundColor
et getBadgeBackgroundColor
, ces nouvelles méthodes vous permettent de renforcer la cohérence du design et de la marque.
Article de blog: En savoir plus sur la transition vers Manifest V3
Nous avons clarifié le calendrier d'abandon de Manifest V2. Le calendrier d'assistance Manifest V2 a également été mis à jour pour refléter ces informations.
Mise à jour de Docs: problèmes connus lors de la migration vers Manifest V3
Nous avons dressé une liste des fonctionnalités principales en cours de développement et des bugs signalés. L'objectif de cette page est d'aider les développeurs à mieux comprendre l'état actuel de la plate-forme et les fonctionnalités qu'ils peuvent cibler pour se préparer à l'avenir.
Chrome Web Store : "grande vignette promotionnelle" importation d'image supprimée
Le Chrome Web Store a supprimé la "grande vignette de promotion" Importez l'UI à partir de l'onglet de la fiche Play Store des articles dans le tableau de bord du développeur. Ce changement n'affecte pas l'expérience utilisateur, car ces images n'étaient pas utilisées dans l'interface utilisateur grand public. Pour en savoir plus, consultez cet article sur les extensions chromium.
Chrome 106: Autoriser les pages des URL file:// à accéder aux ressources accessibles sur le Web
Les origines opaques, telles que les iFrames en bac à sable et l'importation dynamique, doivent également permettre d'accéder aux ressources accessibles sur le Web, comme expliqué dans crbug.com/1219825#c11.
Chrome 106: correction du bug qui autorisait les arguments finaux incorrects dans certaines fonctions d'API asynchrones
Auparavant, Manifest V3 appelant des API asynchrones pouvait fournir un argument final non valide, et Chrome ne générait aucune erreur. Grâce à ce correctif, Chrome affichera correctement une erreur et signalera qu'aucune signature ne correspond. Nous encourageons les développeurs à rechercher d'éventuelles erreurs dans leurs extensions dans Canary, au cas où ils utiliseraient accidentellement une signature incorrecte pour un appel d'API qui serait rompu par cette correction de bug.
Article de blog: Refonte des données analytiques du Chrome Web Store
Le Chrome Web Store propose une interface d'analyse des articles repensée pour le tableau de bord du développeur Chrome Web Store. Le nouveau tableau de bord est plus facile à comprendre d'un seul coup d'œil et regroupe les informations les plus utiles en amont. Pour en savoir plus, consultez cet article de blog.
Chrome 105: promesses pour l'API Identity
Cloud Functions sur l'API Identity
prennent en charge les appels basés sur des promesses. Cela s’accompagne d’une légère
modification de la surface pour
identity.getAuthToken()
, où
un retour asynchrone défini sur un appel basé sur une promesse contient "token" et "grantedScopes" comme paramètres
sur un seul objet (contrairement à la version de rappel qui les reçoit en tant qu'arguments distincts de la
).
Chrome 104: nouvelle API favicons pour Manifest V3
Les extensions Manifest V3 peuvent désormais accéder aux favicons en utilisant un nouveau format d'URL: chrome-extension://<id>/_favicon/
, où chrome://favicons
de la plate-forme Manifest V2. Pour en savoir plus, consultez la documentation sur l'API Favicon.
Mise à jour de la documentation: Déclaration en tant que professionnel ou non-professionnel du développeur
Ajout de l'identification de professionnel/développeur non-professionnel qui permet informe les développeurs pour qu'ils déclarent eux-mêmes leur statut de professionnel ou de non-professionnel.
Chrome 103: Wasm dans Manifest V3 nécessite une évaluation non sécurisée
Chrome n'accorde plus d'extensions script-src: wasm-unsafe-eval
par défaut. Extensions qui utilisent
Désormais, WebAssembly doit ajouter explicitement cette directive et cette valeur à extension_pages
dans ses
content_security_policy
déclarations.
Chrome 103: la modification des raccourcis MV3 prend effet immédiatement
Lorsque vous modifiez le raccourci clavier d'une extension Manifest V3 sur chrome://extensions/shortcuts
,
sont appliquées immédiatement. Auparavant, il fallait actualiser l'extension avant que
le changement prendra effet.
Chrome 102: scripts de contenu dynamique dans le monde principal
Les scripts de contenu enregistrés de manière dynamique peuvent désormais spécifier le
monde dans lequel les ressources seront injectées. Voir
scripting.registerContentScripts()
pour en savoir plus.
Chrome 102: nouveau champ "optional_host_permissions" dans le fichier manifeste
Les extensions Manifest V3 peuvent désormais spécifier la clé optional_host_permissions
dans le fichier manifest.json. Ce
permet aux extensions Manifest V3 de déclarer des modèles de correspondance facultatifs pour les hôtes, tout comme Manifest V2
extensions pourraient utiliser la clé optional_permissions
.
Chrome 102: propriété "insidely" dans scripting.executeScript()
chrome.scripting.executeScript()
accepte désormais une propriété injectImmediately
facultative sur sa
injection
. Si ce paramètre est présent et défini sur "true", le script injecte dans la cible
possible, plutôt que d'attendre document_idle
. Notez que cela ne garantit pas que le script
injecter avant la page est chargée puisque celle-ci continue de se charger pendant l'appel d'API.
Chrome 102: prise en charge de l'API de l'omnibox dans Manifest V3
L'API omnibox peut désormais être utilisée dans des applications basées sur un service worker . Auparavant, certaines méthodes de cette API étaient générées lors d'un appel en raison d'erreurs des dépendances aux capacités DOM.
Chrome 102: évaluation WMS non sécurisée autorisée dans Manifest V3 CSP
Les extensions Manifest V3 peuvent désormais inclure wasm-unsafe-eval
dans leur content_security_policy
. Ce changement permet aux extensions Manifest V3 d'utiliser WebAssembly.
Chrome 102: nouvelle API storage.session
Les extensions Manifest V3 peuvent désormais être utilisées dans l'espace de stockage en mémoire storage.session .
Mise à jour de Docs: découverte d'éléments dans le Chrome Web Store
La page Découverte sur le Chrome Web Store explique comment les utilisateurs trouvent des articles. sur le Chrome Web Store et comment nos éditeurs sélectionnent les éléments à mettre en avant.
Chrome 101: Amélioration des conditions de domaine déclarativeNetRequest
Les conditions de la règle declarativeNetRequest ont été
mis à jour pour permettre aux extensions de mieux cibler les demandes en fonction de leur "demande" et
"initiateur" domaines. Les propriétés de condition pertinentes sont initiatorDomains
,
excludedInitiatorDomains
, requestDomains
et excludedRequestDomains
. Voir aussi
thread chromium-extensions.
Chrome 100: résolution du problème lié à scripting.executeScript() dans les nouveaux onglets
Correction d'un problème de longue date où l'appel de scripting.executeScript()
sur un nouvel onglet ou
peut échouer.
Chrome 100: le port de messagerie natif maintient le service worker actif
Se connecter à un hôte de messagerie native à l'aide de chrome.runtime.connectNative()
dans le
Le service worker doit rester actif tant que le port est ouvert.
Chrome 100: omnibox.setDefaultSuggestion() accepte les promesses et les rappels
La
omnibox.setDefaultSuggestion()
renvoie désormais une promesse ou accepte un rappel pour permettre aux développeurs de déterminer quand
La suggestion a été correctement définie.
Chrome 100: compatibilité avec i18n.getMessage() dans les service workers d'extensions
L'API chrome.i18n.getMessage()
est désormais
dans les contextes de service workers d'extensions.
Chrome 99: match_origin_as_fallback dans Canary
Les scripts de contenu peuvent désormais spécifier la clé match_origin_as_fallback
à injecter dans les frames qui sont
liés à un frame correspondant, y compris les frames avec about:
, data:
, blob:
et filesystem:
URL. Voir les scripts de contenu
pour en savoir plus.
Chrome 99 : compatibilité des service workers d'extensions avec les schémas de fichier dans Canary
Les extensions Manifest V2 et Manifest V3 basées sur un service worker peuvent désormais utiliser l'API Fetch pour demander
URL du schéma file:
. L'accès aux URL du schéma file:
nécessite toujours que l'utilisateur active l'option "Autoriser l'accès"
aux URL de fichiers pour l'extension sur la page chrome://extensions
.
Chrome 99: compatibilité assurée avec les API de messagerie dans Canary
la prise en charge de la promesse
tabs.sendMessage
,
runtime.sendMessage
runtime.sendNativeMessage
pour
créées pour Manifest V3.
Mise à jour de Docs: documentation relative aux avis sur le Chrome Web Store
Ajout d'une nouvelle page de référence offrant un aperçu de Chrome Processus d'examen du Web Store et explications sur l'application du Règlement du programme pour les développeurs
Chrome 98: scripting.executeScript() et scripting.insertCSS() acceptent plusieurs fichiers
executeScript()
de l'API Scripting
et les méthodes insertCSS()
acceptent désormais
plusieurs fichiers. Auparavant, ces méthodes nécessitaient un tableau contenant une seule entrée de fichier.
Mise à jour de Docs: informations sur la résolution des problèmes de non-respect des règles
La page Résoudre les problèmes de non-respect des règles du Chrome Web Store mis à jour pour fournir aux développeurs des conseils plus détaillés sur les motifs courants de refus.
Chrome 96: promesse étendue à 27 API supplémentaires
Cette version contient beaucoup plus de mises à jour prometteuses que n'importe quelle version précédente. Les mises à jour incluent d'extensions générales et propres à ChromeOS. Développez les sections suivantes pour en savoir plus.
API d'extensions
Un certain nombre d'API sont désormais compatibles avec les promesses dans Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
De plus, les API qui utilisent ChromeSetting
et le prototype soutiennent
désormais aussi les promesses. Les API suivantes sont concernées par ce changement.
API ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: scripts de contenu dynamique
L'API chrome.scripting
est désormais compatible avec
l'enregistrement,
mise à jour,
désinscription et obtention d'une liste de scripts de contenu
lors de l'exécution. Auparavant, les scripts de contenu ne pouvaient être déclarés de manière statique que dans le fichier
manifest.json ou injecté de manière automatisée au moment de l'exécution avec
chrome.scripting.executeScript()
Mise à jour de Docs: calendrier de prise en charge de Manifest V2
Le calendrier de transition de Manifest V2 à V3 a été annoncé dans cet article de blog. une page de chronologie plus détaillée a été publiée.
Chrome 96: autorisation déclarativeNetRequestWithHostAccess
La nouvelle autorisation declarativeNetRequestWithHostAccess
permet aux extensions d'utiliser l'autorisation
l'API chrome.declarativeNetRequest
sur les sites
dispose d'autorisations d'hôte. Cela permet également d'activer les extensions Manifest V2 existantes qui utilisent
webRequest
, webRequestBlocking
et autorisation de l'hôte spécifique au site à migrer vers
API chrome.declarativeNetRequest
sans
sans que l'utilisateur approuve
de nouvelles autorisations.
Chrome 95: injecter des scripts directement dans les pages
L'API chrome.scripting
La méthode executeScript()
peut désormais
injecter des scripts directement dans
le monde principal d'une page. Auparavant, les extensions ne pouvaient injecter directement
dans le monde isolé de l'extension. Pour en savoir plus sur les mondes isolés, consultez la documentation
sur les scripts de contenu.
Chrome 95: promesse de compatibilité avec l'API Storage
Méthodes de la version Manifest V3 de chrome.storage
L'API renvoie désormais des promesses.
Mise à jour du règlement: application forcée de la validation en deux étapes
L'article de blog sur la mise à jour du règlement, publié le 29 juin 2021, a été mis à jour pour corriger le calendrier de déploiement de la validation en deux étapes.
Chrome 94: modifications de l'ensemble de règles statiques des requêtes réseau déclaratives
Le chrome.declarativeNetRequest
est désormais compatible
spécifiant jusqu'à 50 ensembles de règles statiques
(MAX_NUMBER_OF_STATIC_RULESETS)
et activer jusqu'à 10 ensembles de règles
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
à la fois.
Chrome 93: prise en charge de l'isolation multi-origine
Les extensions Manifest V2 et Manifest V3 peuvent désormais activer l'isolation multi-origine. Cette caractéristique limite les origines multiples
ressources peuvent charger les pages d'une extension et permettent l'utilisation de fonctionnalités de bas niveau de la plate-forme Web, telles que
SharedArrayBuffer
L'activation sera requise à partir de Chrome 95.
Mise à jour du règlement: règlement du programme pour les développeurs mis à jour
Le Règlement du programme Chrome Web Store pour les développeurs a été mis à jour en clarifiant les tactiques d'installation trompeuses, les règles relatives au spam et aux contenus répétitifs. Cette mise à jour inclut également une nouvelle exigence de validation en deux étapes pour publier sur le Web Chrome Google Store. Pour en savoir plus, consultez cet article de blog.
Article de blog: Actions des extensions dans Manifest V3
Les extensions Chrome comportaient chrome.browserAction
et chrome.pageActions
API pendant des années, mais Manifest
V3 a remplacé les deux versions par une API chrome.actions
générique. Ce
, explore l'historique de ces API et ce qui a changé dans Manifest V3. Lire l'article
Article de blog: présentation de chrome.scripting
L'API chrome.scripting
est une nouvelle API Manifest V3 axée sur
sur l'écriture de script. Dans ce post, nous allons analyser les motivations de ce changement et examiner de plus près
ses nouvelles capacités. Lire l'article
Chrome 92: prise en charge des service workers de modules
Chrome est désormais compatible avec les modules JavaScript dans les service workers. Pour spécifier un module dans votre fichier manifeste:
"background": {
"service_worker": "script.js",
"type": "module"
}
Le script du nœud de calcul est alors chargé en tant que module ES, ce qui vous permet d'utiliser le mot clé import
dans le
le script du nœud de calcul pour importer d'autres modules.
Chrome 91: chrome.action.getUserSettings()
Les nouvelles
chrome.action.getUserSettings()
permet aux extensions de déterminer si l'utilisateur l'a épinglée à la barre d'outils principale.
Chrome 90: chrome.scripting.removeCSS()
Nouvelle version de chrome.scripting.removeCSS()
permet aux extensions de supprimer le code CSS précédemment inséré via
chrome.scripting.insertCSS()
Il
remplace chrome.tabs.removeCSS()
.
Chrome 90: renvoi de promesses de scripting.executeScript()
chrome.scripting.executeScript()
maintenant
est compatible avec les promesses de retour. Si la valeur résultante de l'exécution du script est une promesse, Chrome
attendra que la promesse s'est
soumise et renvoie sa valeur résultante.
Chrome 90: les résultats de chrome.scripting.executeScript() incluent l'identifiant frameId.
Résultats issus de
chrome.scripting.executeScript()
incluez maintenant le frameId.
La propriété frameId
indique le cadre d'où provient le résultat, ce qui permet aux extensions
associer les résultats aux frames individuels lors de l'injection dans plusieurs frames.
Chrome 89: nouvelle API pour gérer les groupes d'onglets
La nouvelle API chrome.tabGroups
et les nouvelles fonctionnalités de
chrome.tabs
permet aux extensions de lire et de manipuler les groupes d'onglets.
Nécessite Manifest V3.
Chrome 89: autorisations personnalisables pour les ressources accessibles sur le Web
Définitions des ressources accessibles sur le Web dans Manifest V3 a été modifié pour permettre aux extensions de restreindre l'accès aux ressources en fonction de l'origine du demandeur ou l'ID d'extension.
Article de blog: Conversion Manifest Converter
L'équipe chargée des extensions Chrome a publié en Open Source "Extension Manifest Converter", un outil Python qui automatise certains aspects mécaniques de la conversion des extensions en Manifest V3. Consultez le annonce de blog et l'obtenir à partir de GitHub.
Chrome 88: disponibilité générale de Manifest V3
Manifest V3 est une mise à jour majeure de la plate-forme d'extensions : Consultez la page Présentation de Manifest V3 pour obtenir un résumé des fonctionnalités nouvelles et modifiées. Extensions peuvent continuer à utiliser Manifest V2 pour le moment, mais cette fonctionnalité sera bientôt supprimée. Nous vous recommandons recommandent d'utiliser Manifest V3 pour toute nouvelle extension et de commencer à migrer les extensions existantes. vers Manifest V3 dès que possible.