我尝试使用webextension模块在Nightly(现在)上移植Chrome扩展程序,但是,当我尝试执行时需要(" sdk / tabs");
var tabs = require("sdk/tabs");
tabs.on("ready",function(tabs) {
if (tabs && tabs.url && tabs.url.match(driveURLpattern) || tabs.url.match(docsURLpattern)) {
currentTabId = tabs.id;
return authentication();
}
});
控制台:ReferenceError:未定义require
但它不起作用......我如何定义它?
更新:Chrome的原始代码为:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.status === 'complete') {
if (tab && tab.url && tab.url.match(driveURLpattern) || tab.url.match(docsURLpattern)) {
currentTabId = tab.id;
return authentication();
}
}
});
提前致谢!
eKivOx
编辑:已找到解决方案。谢谢你
解决方案是,要求不在WebExtensions中,我们不能像SDK-addons一样,所以我检查了ChromeAPi的兼容性,我看到chrome.tabs.onUpdated()是兼容!Cya
答案 0 :(得分:1)
require用于CommonJS模块的上下文中。它导入库模块导出的方法。 您无法将Chrome扩展程序移植到FF-addon。您需要使用JPM创建新的Firefox扩展,并在附加脚本中使用require
HTH