Aller au contenu

Pour ceux qui ne connaissent pas le monde du développement d’extensions Web, une tempête se prépare avec Chrome. Google cessera de prendre en charge la version 2 du manifeste, qui est celle que la grande majorité des extensions Web utilisent. La version 3 de Manifest comporte de nombreux changements, mais le plus gros changement est le passage des scripts d’arrière-plan statiques aux Service Workers. C’est… un énorme changement…

Les changements de la version 2 de Manifesto à la version 3 incluent :

  • Passer d’un script d’arrière-plan persistant à un service worker qui peut mourir au bout de 5 minutes
  • pas d’Utilisation <iframe> Autres éléments DOM ou API du service worker
  • Toutes les API sont désormais basées sur des promesses
  • Restrictions de contenu d’un point de vue CSP

Une fonction souvent utilisée par les extensions Web consiste à exécuter des scripts à chaque nouveau chargement de page. Pour une extension Web comme MetaMask, nous devons fournir un window.ethereum pour utiliser les dApps. Alors, comment faisons-nous cela avec la version 3 du manifeste ?

À partir de Chrome v102Les développeurs peuvent spécifier un fichier world la valeur de la propriété isolated ou alors main (par page) pour les textes de contenu. Alors que les développeurs doivent spécifier content_scripts en prolongement manifest.json dossier main La valeur ne fonctionne vraiment (en raison d’un bogue dans Chrome) que lorsque vous la spécifiez par programmation à partir du service worker :

await chrome.scripting.registerContentScripts([
  {
    id: 'inpage',
    matches: ['http://*/*', 'https://*/*'],
    js: ['in-page.js'],
    runAt: 'document_start',
    world: 'MAIN',
  },
]);

Dans l’exemple ci-dessus, in-page.js Ils sont saisis et exécutés dans l’onglet de contenu principal chaque fois qu’une nouvelle page est chargée. c’est in-page.js Groupes de fichiers window.ethereum pour toutes les dApps à utiliser. Si le world Il est undefined ou alors isolatedLe script continuera à s’exécuter, mais il sera exécuté dans un environnement isolé.

Faire Manifest v3 demande beaucoup d’efforts, alors embrassez votre développeur de plugins le plus proche. Il existe de nombreux changements structurels énormes et surmonter ces changements est une poussée brutale !

  • 5 API HTML5 dont vous ignoriez l'existence

    Lorsque vous dites ou lisez « HTML5 », vous vous attendez à moitié à ce que des danseurs et des licornes queer entrent dans la pièce au son de « I’m Hot I Know It ». Pouvez-vous nous blâmer cependant? Nous avons vu les API de base stagner pendant si longtemps que la fonctionnalité de base…

  • Conseils pour démarrer avec les bitcoins et les crypto-monnaies

    Certaines des expériences les plus enrichissantes de ma vie, à la fois financièrement et logiquement, ont été l’achat et la gestion de crypto-monnaies telles que Bitcoin, Litecoin et Ethereum. Comme pour apprendre toute autre nouvelle technologie, j’ai fait des erreurs de débutant en cours de route, mais j’ai appris quelques bonnes pratiques en cours de route. profitable…

  • Arrière-plans multiples avec CSS

    Quiconque travaille dans le domaine du développement Web depuis plus de 5 ans sait qu’il existe certaines fonctionnalités que nous aurions dû avoir il y a de nombreuses années. L’une de ces caractéristiques est Espace réservé HTML5; Nous avons utilisé des remplisseurs JavaScript pendant une décennie avant l’arrivée de l’espace réservé…

  • Ligne révisée

    Lorsque j’ai créé des sites Web pour des clients, remettre le design initial était l’une des nombreuses choses qui me frustraient. Il en sera toujours ainsi : travaillez dur pour intégrer les idées du client et imaginez un superbe design. Créer ledit design, en utilisant le script Lorem Ipsum, envoyer le concept de design initial au client…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment entrer des extensions Web globales dans Manifest V3

  • SEO