我在Firefox中使用WebExtensions遇到了一些麻烦。我有一些跟踪下载的代码,它在Chrome中运行,但在FF中没有。
我已经将代码煮到了适用于Chrome但不支持FF的最小曲面:
function handleChanged(delta) {
console.log(delta);
}
chrome.downloads.onChanged.addListener(handleChanged);
无论我使用 chrome。* 还是浏览器。* ,行为都保持不变:它不起作用。我试过执行这一行:
console.log(chrome.downloads.onChanged.hasListener(handleChanged));
添加侦听器后,它会记录 true 的值。奇怪的是,添加 onCreated 监听器的工作正常:
function handleCreated(delta) {
console.log(delta);
}
chrome.downloads.onCreated.addListener(handleCreated);
这会在启动下载时在控制台中产生预期的对象转储。除非我遗漏了一些非常明显的东西,否则我倾向于认为这是一个错误。 incompatibilities list没有提到它,它是documented by Mozilla。问题是,我没有看到有人在网上提出这个问题,所以我倾向于认为一个bug是不可能的,而且我搞砸了。
如果有帮助,我在Windows 7 Enterprise x64主机上的VMWare Workstation内的Windows 7 Enterprise x64上运行Firefox 51.0.1(32位)。我正在使用“加载临时加载项”按钮加载扩展。这不是核心清单或附加组件本身的问题,因为其他三种类型的监听器工作得很好。该脚本作为后台脚本运行。
我感谢任何指导。谢谢!