Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article présente les concepts des développeurs concernant la création d’une extension Microsoft Edge. En tant que développeur d’extensions, vous pouvez suivre pour comprendre le fonctionnement des navigateurs multi-onglets.
Une extension Microsoft Edge est une petite application que les utilisateurs peuvent choisir et qui ajoute ou modifie des fonctionnalités de Microsoft Edge afin de fournir une expérience spécialisée ou une fonction importante pour un public cible. Pour une introduction, voir Vue d’ensemble des extensions Microsoft Edge.
Les utilisateurs parcourent et installent les extensions pour Microsoft Edge à partir du site web des modules complémentaires Microsoft Edge .
Contenu détaillé :
Comprendre le fonctionnement des navigateurs
La liste suivante décrit les informations utiles à comprendre avant de construire votre extension.
Les onglets du navigateur sont des threads isolés
Chaque onglet du navigateur est isolé de tous les autres onglets. Chaque onglet s’exécute dans un thread distinct qui est isolé des autres onglets et threads du navigateur.
Chaque onglet gère une requête GET
Chaque onglet gère une requête GET. Chaque onglet utilise une URL pour obtenir un flux de données unique, qui est normalement un document HTML. Ce flux ou cette page unique inclut des instructions telles que JavaScript, des balises d’inclusion, des références d’image, des références CSS, etc. Toutes les ressources sont téléchargées sur cette page à onglet, puis la page est affichée dans l’onglet.
La communication se produit entre chaque onglet et un serveur distant
La communication se produit entre chaque onglet et un serveur distant. Chaque onglet s’exécute dans un environnement isolé. Chaque onglet est toujours connecté à Internet, mais chacun est isolé des autres onglets. Un onglet peut exécuter JavaScript pour communiquer avec un serveur. Le serveur est le serveur d’origine de la première requête GET entrée dans la barre d’URL de l’onglet.
Modèle de communication
Le modèle d’extension utilise un modèle de communication différent. À l’instar d’une page à onglets, une extension s’exécute dans un thread individuel isolé des autres threads de page à onglets. Un onglet envoie des requêtes GET uniques aux serveurs distants, puis affiche la page. Toutefois, une extension fonctionne de la même manière qu’un serveur distant. L’installation d’une extension dans un navigateur crée un serveur web autonome dans le navigateur. L’extension est isolée de toutes les pages d’onglet.
Architecture d’extension
La liste suivante présente des informations utiles en ce qui concerne l’architecture d’une extension.
Offre groupée serveur web d’extension
Une extension est un ensemble de ressources web. Les ressources Web sont similaires aux autres ressources que vous (le développeur Web) publiez sur des serveurs Web. Vous regroupez les ressources web dans un fichier zip lors de la création d’une extension.
Le fichier zip inclut des fichiers HTML, CSS, JavaScript et image. Un autre fichier est requis à la racine du fichier zip. L’autre fichier est le fichier manifeste nommé manifest.json. Le fichier manifeste est le plan de votre extension et inclut la version de votre extension, le titre, les autorisations nécessaires à l’exécution de l’extension, etc.
Lancement du serveur d’extensions
Les serveurs web contiennent votre offre groupée web. Un navigateur accède aux URL sur le serveur et télécharge le fichier à afficher dans le navigateur. Un navigateur navigue à l’aide de certificats, de fichiers de configuration, etc. Si un index.html fichier est spécifié, il est stocké à un emplacement spécial sur le serveur Web.
Lorsque vous utilisez une extension, la page onglet de votre navigateur accède à l’offre groupée web de votre extension à l’aide du runtime d’extension. Le runtime d’extension dessert les fichiers à partir de l’URL extension://{some-long-unique-identifier}/index.html, où {some-long-unique-identifier} est un identificateur unique attribué à l’extension pendant l’installation. Chaque extension utilise un identificateur unique différent. Chaque identificateur pointe vers l’offre groupée Web installée dans votre navigateur.
Communication avec les onglets et la barre d’outils du navigateur
Une extension peut communiquer avec les onglets et la barre d’outils du navigateur. Une extension peut interagir avec la barre d’outils de votre navigateur. Chaque extension gère l’exécution de pages d’onglet dans des threads distincts, et la manipulation DOM sur chaque page d’onglet est isolée. Une extension utilise l’API extensions pour communiquer entre les pages d’extension et d’onglet. L’API extensions fournit des fonctionnalités supplémentaires qui incluent la gestion des notifications, la gestion du stockage, etc.
Tout comme les serveurs web, une extension attend les notifications lorsque le navigateur est ouvert. Une extension et les pages d’onglet s’exécutent dans des threads isolés les uns des autres. Pour permettre à une extension de fonctionner avec n’importe quelle page d’onglet, utilisez l’API extensions et définissez les autorisations dans le fichier manifeste.
Autorisations d’adhésion au moment de l’installation
Une extension fournit des autorisations d’adhésion au moment de l’installation. Vous spécifiez les autorisations d’extension dans le manifest.json fichier. Lorsqu’un utilisateur installe une extension, des informations sur les autorisations requises par l’extension s’affichent. En fonction du type d’autorisation requise, l’extension peut extraire et utiliser des informations du navigateur.