Question

Le javascript que vous écrivez pour un composant XUL peut-il interagir avec le javascript défini dans une page Web?

Par exemple, si une page Web particulière a une fonction dooSomethingNeat (), puis-je faire en sorte qu'un bouton défini dans une superposition XUL exécute cette fonction ou vit-il dans un autre espace de noms?

En d'autres termes: si je cherche à améliorer les fonctionnalités d'un site Web avec mon propre code, est-il plus logique d'écrire une extension Firefox ou d'utiliser quelque chose comme greasemonkey?

Était-ce utile?

La solution

Voir ma réponse à une autre question ici .

  • Le code de la page Web vit dans un "espace de noms" distinct des portées d'exécution du code de navigateur.
  • Cela ne veut pas dire que vous ne pouvez pas y accéder depuis une extension.
  • D'autre part, exécuter une fonction dans une page de contenu n'est pas très facile à faire en toute sécurité en ce moment.
  • Les scripts Greasemonkey (et les scripts d’ubiquité, qui peuvent également interagir avec des pages Web) sont un peu plus faciles à développer que les extensions, et Greasemonkey implémente déjà les précautions de sécurité requises pour vous permettre d’interagir en toute sécurité avec les pages Web.
  • Si vous souhaitez que d'autres personnes utilisent votre script, le conditionner en tant qu'extension autonome réduit la barrière à l'entrée (dans le cas contraire, les utilisateurs de GM existants peuvent préférer des scripts GM plus simples à une extension séparée).

Donc, si vous pouvez implémenter ce que vous devez faire avec un script GM ou un script d'omniprésence, je vous conseillerais d'y aller. Au moins, vous pouvez commencer avec, puis convertir en une extension lorsque vous trouvez quelque chose que vous ne pouvez pas faire avec GM.

Si vous avez besoin de fonctionnalités non prises en charge par Greasemonkey ou si vous voulez simplement essayer de créer une extension, c'est également une option viable.

Autres conseils

Il existe un extension Greasemonkey à firefox et un compilateur " disponible, mais il n’est pas à jour avec les dernières modifications de GM.

Cependant, le cadre de base de GM pour l'interaction et la sécurité des pages est présenté comme une extension autonome que vous pouvez modifier et étendre.

Le fait d’utiliser une extension autonome ou un script GM dépend de la personne qui l’installera. L'utilisateur sera-t-il disposé à installer GreaseMonkey, ALORS le script? Ou l’extension est-elle à elle seule une barrière d’installation?

La licence de GM permet de la reconditionner avec des scripts prédéfinis, je crois, mais je ne trouve pas de citations pour cela pour le moment.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top