gpt4 book ai didi

javascript - Firefox 扩展在 main.js 文件中包含脚本

转载 作者:行者123 更新时间:2023-11-29 14:50:55 25 4
gpt4 key购买 nike

我正在为 firefox 编写一个扩展,但在将脚本包含到 main.js(后台)文件中时遇到问题 ...

在我的例子中,我想包括例如 jquery.js 和 config.js,但我不知道如何正确地做到这一点。

在我的 chrome 扩展程序中,我只是在 list 文件上执行此操作,但我希望在 firefox 中执行相同的操作。

谢谢你的帮助,jdmry

最佳答案

要导入您使用的文件 Components.utils.import .

您需要一个用于导入文件的 URL。通常,这是 resource://或 chrome://URL。

Mozilla 提供的库的一些示例:

Components.utils.import("resource://gre/modules/FileUtils.jsm"); //File Utilities
Components.utils.import("resource://gre/modules/NetUtil.jsm"); //Network utilities
Components.utils.import("resource://gre/modules/Services.jsm"); //Services

一些从你自己的扩展加载的例子:

Components.utils.import("chrome://myExtensionModule/content/common.jsm");          //Common
Components.utils.import("chrome://myExtensionModule/content/classes.jsm"); //Classes

为了从您自己的扩展程序加载,您需要将文件放在已映射到 chrome.manifest 中的 chrome://或 resource://URL 的文件夹中。例如行:

content       myExtensionModule                             modules/

这不需要与您通常为内容映射的文件夹分开,但通常将 JavaScript 模块保存在单独的文件夹中,只是为了组织。您不需要让他们使用 .jsm 扩展名,同样只是一个约定。使用 .js 就很好,如果您有其他基于 .js 扩展名的自动配置工具(例如编辑器),则可能是可取的。

可以在 MDN 上的文档中找到更多信息:

请注意,在 Firefox 代码中,通常会映射到较短的变量以访问一些常用的 Firefox 属性。具体来说,经常用到的有:

const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;

通常这些都是以更缩写的方式定义的。上面明确说明了它们以使映射更加清晰。

关于javascript - Firefox 扩展在 main.js 文件中包含脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com