Quelle est la façon la plus facile de développer L'extension Firefox?

j'ai l'intention de développer une extension simple de Firefox qui va raccourcir L'URL d'un onglet actuellement actif, afficher un popup avec L'URL raccourcie, et le placer dans le presse-papiers.

dans Google Chrome, ce serait assez facile (selon http://developer.chrome.com/extensions/getstarted.html ) -- pur JavaScript plus quelques appels aux API JavaScript d'interagir avec L'interface utilisateur du navigateur.

cependant, après à la recherche d'un bon tutoriel sur les extensions de Firefox, les liens les plus officiels que j'ai trouvés sont:

Selon eux, il semble comme je vais devoir apprendre le langage XUL pour même les interactions les plus simples avec L'interface utilisateur du navigateur. En plus de cela, je devrai configurer le profil personnalisé de Firefox afin de ne pas arroser mon profil par défaut pendant le développement, créer une structure de répertoire compliquée, écrire un manifeste en XML obscur, trouver comment empaqueter et tester tout ce que j'implémente, etc.

nous sommes en 2013, n'y a-t-il pas un moyen plus simple de construire des extensions Firefox?

58
demandé sur Community 2013-12-05 23:55:13

5 réponses

nous sommes en 2013, n'y a-t-il pas un moyen plus simple de construire des extensions Firefox?

Oui, il y est!

les liens que vous avez fournis dans la question sont incroyablement périmés. Il y a une nouvelle, bien meilleure façon de développer des extensions Firefox -- Firefox Add-on SDK .

cependant il est assez difficile de tomber sur elle en googlant simplement le long des lignes de 'addon firefox tutoriel". Je suis étonné que Mozilla n'en parle pas plus agressivement, ou du moins n'en parle pas sur les pages que vous avez trouvées.

Étapes (Mac/Linux, mais devrait être assez similaire pour PC):

  • Téléchargez le SDK de https://addons.mozilla.org/en-US/developers/builder , déballez-le.
  • regarde rapidement le fichier README (toujours utile).
  • Exécuter source bin/activate à partir du SDK dir (le même dir le fichier README).
  • exécuter cfx docs -- ce bootstraps copie locale de SDK docs et l'ouvre dans votre navigateur.
  • quitter le dir SDK, créer un dir vide pour votre extension.
  • Exécuter cfx init à l'intérieur des extensions dir -- cela génère tous les fichiers/répertoires.
  • Suivez le reste des getting-started-avec-cfx page:
    • Update lib/main.js avec seulement quelques lignes de JS pour placer un widget personnalisé sur la barre add-on.
    • Execute cfx run -- ceci ouvre une nouvelle instance Firefox avec votre nouvelle extension brillante.

en somme, il m'a fallu quelques heures pour lire la documentation, me familiariser avec le SDK API - s, trouver SDK module pour placer un widget sur une barre de navigation au lieu de la barre add-on, et développer l'extension entièrement fonctionnelle dans environ 50 lignes de JavaScript.

HTH!

mise à Jour

il y a une nouvelle norme, appelée Extensions Web

de MDN

Il y a actuellement plusieurs ensemble d'outils pour le développement D'add-ons Firefox, mais les extensions Web deviendront la norme d'ici la fin de 2017.

si vous écrivez un nouvel add-on, nous vous recommandons d'écrire une extension Web .

72
répondu dorserg 2016-11-24 12:26:27

Oui, il ya trois différentes techniques que vous pouvez utiliser pour construire des extensions:

  1. Add-on SDK extensions à base de
  2. manuellement bootstrapped restartless extensions
  3. superposition "extensions 151950920"

vous pouvez lire la comparaison entre ici

si vous le pouvez, il est conseillé d'utiliser le SDK Add-on, qui utilise le mécanisme d'extension restartless mais simplifie certaines tâches et nettoie après lui-même. Si le SDK Add-on n'est pas suffisant pour votre besoins, mettre en œuvre une extension restartless manuelle à la place.

Étapes pour commencer avec Add-on SDK extensions à base de

  1. Installation
  2. créer des interfaces utilisateur
  3. interagir avec le navigateur
9
répondu Subodh Ghulaxe 2014-12-02 03:55:49

à partir de https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017 / , la seule façon d'aller de l'avant sera d'utiliser Web Extensions . Les dernières extensions SDK seront acceptées pour Firefox 52, tandis que Firefox 57 mettra fin à toutes les autres extensions , ne supportant que les extensions Web.

Firefox a copié L'API d'extension de Google Chrome. Ainsi vous pouvez utiliser simplement votre extension Chrome et voir si tous les API sont déjà supportés dans Firefox (ils devraient l'être dès maintenant). Des programmeurs tels que NoScript 'S Giorgio Maone soutiennent activement le changement de web Extensions .

pour développer une extension Web, vous avez besoin de

  • soit le web-ext - outil qui peut être installé via

    npm install --global web-ext
    
  • ou utilisez simplement le about:debugging de Firefox ou le chrome:extensions de Chromium pour charger Temporairement l'extension Web.

de toute façon, vous avez besoin d'un fichier manifest.json dans un répertoire créé par vous, qui colle toutes les fonctionnalités Ensemble. Voir https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension pour un premier exemple. Ou le Google docs à https://developer.chrome.com/getstarted .

7
répondu serv-inc 2017-07-25 07:36:53

Il y a deux voies pour le développement d'add-ons, chacun d'eux a des avantages et des inconvénients:

1- Web Extensions (nouvelle méthode):

les extensions Web sont le futur des add-ons Firefox. Si vous pouvez utiliser L'API Web Extensions, c'est le meilleur choix. Vous pouvez développer et publier des extensions web dès maintenant, mais elles sont encore dans un état précoce.

2- Add-on SDK (ancienne méthode):

le SDK Add-on fournit des API pour le développement D'add-ons Firefox, et un outil pour le développement, l'essai et l'emballage.

4
répondu iraj jelodari 2016-08-04 07:50:35

j'ai fait un tutoriel sur le développement d'extensions en utilisant le SDK Firefox addon:

Comment développer une extension Firefox avec l'addon SDK

3
répondu ejectamenta 2015-07-10 08:59:06