Firefox Referenceerror:数据未定义

Firefox Referenceerror:数据未定义,firefox,sdk,Firefox,Sdk,我正在尝试制作一个firefox插件,它使用contentscript在某个页面中插入一个.js文件。大部分都是有效的,但我一直都会遇到这个奇怪的错误 main.js var pageMod = require("sdk/page-mod"); var self = require("sdk/self"); var data = require('sdk/self').data; pageMod.PageMod({ include: ["http://www.google.com",

我正在尝试制作一个firefox插件,它使用contentscript在某个页面中插入一个.js文件。大部分都是有效的,但我一直都会遇到这个奇怪的错误

main.js

var pageMod = require("sdk/page-mod");
var self = require("sdk/self");
var data = require('sdk/self').data;

pageMod.PageMod({
  include: ["http://www.google.com",
            "https://ww.google.com"
           ],
  contentScriptFile: data.url("contentscript.js")
});
contentscript.js

var s = document.createElement('script');
s.src = data.url('jquery.js');
s.onload = function() {
    this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);

setTimeout(function(){
  var d = document.createElement('script');
  d.src = data.url('script.js');
  d.onload = function() {
      this.parentNode.removeChild(this);
  };
  (document.head||document.documentElement).appendChild(d);
},100)
js的内容是不相关的,因为它甚至没有被执行。错误在contentscript:2:1引用错误:数据未定义


请记住,需要这样做,脚本需要能够修改DOM。

您不能从内容脚本访问data.url,只能从main.js访问。您可以在contentScriptOptions中从main传递脚本的文件路径和名称

此外,我不确定您打算将其用于何处,但如果您确实包括:[https://www.google.com]然后page mod将只在上工作。包括:[*]允许所有网站等