Firefox 附加组件将变量导出到页面
Firefox add-on export variable into page
我有一个 Firefox 插件,它只有一个入口点:一个启动外部应用程序的函数调用。
如何在所有页面打开时将该函数调用导出到所有页面(实际上它不会是每个页面,它将在页面上决定URL), 以便知道我的扩展的页面可以调用它?
注意:加载项无需回调页面或访问页面上的任何信息。
您可以使用 page-mods。在 include
字段中,您可以指定要执行函数的 URL,它支持 table 字符串和 RegExp。以下示例来自 firefox 文档:
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*.mozilla.org",
contentScript: 'console.log("Call your function here!");'
});
或者如果您不想将脚本附加到页面的 window 中,您可以使用 tabs
例如:
var tabs = require("sdk/tabs");
tabs.on('ready', function(tab) {
console.log('tab is loaded', tab.title, tab.url);
if(tab.url.indexOf("mozilla") != -1) {
console.log("Call your function here!")
}
});
我有一个 Firefox 插件,它只有一个入口点:一个启动外部应用程序的函数调用。
如何在所有页面打开时将该函数调用导出到所有页面(实际上它不会是每个页面,它将在页面上决定URL), 以便知道我的扩展的页面可以调用它?
注意:加载项无需回调页面或访问页面上的任何信息。
您可以使用 page-mods。在 include
字段中,您可以指定要执行函数的 URL,它支持 table 字符串和 RegExp。以下示例来自 firefox 文档:
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*.mozilla.org",
contentScript: 'console.log("Call your function here!");'
});
或者如果您不想将脚本附加到页面的 window 中,您可以使用 tabs 例如:
var tabs = require("sdk/tabs");
tabs.on('ready', function(tab) {
console.log('tab is loaded', tab.title, tab.url);
if(tab.url.indexOf("mozilla") != -1) {
console.log("Call your function here!")
}
});