网页js的内容脚本访问



我用在线插件生成器创建了一个firefox插件。如何从插件中使用网页上的现有功能?这个网站不属于我,所以我不能绑定事件侦听器,以便从我的插件向它发送事件。

更新:现在我有了这个代码,但它不起作用:

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();

您将内容脚本注入页面(例如通过page-mod包),并在内容脚本中调用unsafeWindow.foo()以从内容脚本调用函数foo()。有关详细信息,请参阅文档。请务必阅读警告:您依赖网页功能来实现预期的行为,但可能不会。特别是,如果函数返回了一些东西,并且您想要处理该结果,那么您可能会无意中引入一个安全漏洞。

最新更新