Question

Je crée un addon firefox avec le constructeur addon en ligne. Comment peut-on utiliser une fonction existante sur une page Web, à l'intérieur du addon? Ce site ne pas appartenir à moi, je ne peux pas les écouteurs d'événements se lient, afin d'envoyer un événement à partir de mon addon.

Mise à jour: Maintenant, j'ai ce code, mais il ne fonctionne pas:

main.js

var widgets = require("widget");
var tabs = require("tabs");
var data = require("self").data;


var widget = widgets.Widget({
  id: "transfer",
  label: "Transfer",
  content: "Transfer",
  width: 100,
  onClick: function() {
    tabs.activeTab.attach({
      // native implementation of window.confirm will be used
      contentScriptFile: data.url("new.js")
    });
  }
});

new.js:

function foo()
{
    call(); // function in webpage

}
unsafeWindow.foo();
Était-ce utile?

La solution

injecter un script contenu dans la page (par exemple par l'intermédiaire de paquets page-mod) et unsafeWindow.foo() d'appel dans le script contenu de fonction d'appel foo() à partir du script contenu. Voir documentation pour plus d'informations. faire s'il vous plaît assurez-vous de lire les mises en garde: vous comptez sur la fonction de page Web pour se comporter de la façon que vous attendez, mais il ne pourrait pas. En particulier, si la fonction retourne quelque chose et que vous voulez traiter ce résultat, vous pouvez introduire par inadvertance un trou de sécurité.

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