Firefox addon 在Firefox插件的main.js中包含数据目录中的库

Firefox addon 在Firefox插件的main.js中包含数据目录中的库,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,在使用插件SDK的Firefox插件中,我试图在main.js中包含data目录中的两个库文件,但它不起作用 我有以下目录结构: data -- jquery-latest.min.js -- pagemodscript.js -- mylibrary.js lib -- main.js pagemodscript.js使用jQuery,这很有效(使用contentScriptFile) 我还想在main.js中使用jQuery和mylibrary.js,但这不起作用 我尝试过的各种方法都会

在使用插件SDK的Firefox插件中,我试图在
main.js
中包含
data
目录中的两个库文件,但它不起作用

我有以下目录结构:

data
-- jquery-latest.min.js
-- pagemodscript.js
-- mylibrary.js

lib
-- main.js
pagemodscript.js
使用jQuery,这很有效(使用
contentScriptFile

我还想在
main.js
中使用jQuery和
mylibrary.js
,但这不起作用

我尝试过的各种方法都会导致错误消息“ReferenceError:[mylibrary.js中的类]未定义”、“ModuleNotFoundError:无法满足:require(mylibrary.js)”和“无权加载”

我尝试移动
mylibrary.js
并将
jquery latest.min.js
复制到
lib
,但这导致了其中一条错误消息

最好的设置方法是什么

注意:我想在
main.js
中使用jQuery的原因是,在
pagemodscript.js
生成的事件之后,我想
main.js
向当前页面添加一个div,其中它将显示从
pagemodscript.js
生成的另一个事件创建的对象列表。让
pagemodscript.js
创建这些对象并创建div是更好的做法吗?在这种情况下,这将起作用:我将使用
contentScriptFile
mylibrary.js
加载到
pagemodscript.js
中。在这种情况下,
pagemodscript.js
将创建
mylibrary.js
中定义的类的对象,而这似乎不像我希望的那样是一种好的设计

我还想在
main.js
中使用jQuery和
mylibrary.js

那对你没有任何好处。jQuery希望在窗口中运行并与DOM一起工作。扩展文件在完全不同的环境中执行-没有可访问的窗口,一些典型的窗口函数不可用。此外,扩展文件根本不允许访问DOM,所有网页访问都必须在内容脚本中进行

我想要
main.js
向当前页面添加一个div


您应该向内容脚本(
pagemodscript.js
)发送一条消息,让它为您创建div。这就是插件SDK的工作原理。

发布后,我仔细阅读并按照您描述的方式工作。