Chrome 扩展程序 API 未在更改事件时触发
Chrome Extension API not firing onChanged event
我正在使用chrome.downloads.onChanged.addListener
来查找下载何时完成。
回调有时不会触发,并且没有明显的原因。
代码如下所示
chrome.downloads.onChanged.addListener(function (downloadDelta) {...});
它在background.js
中,文件在清单的background
部分中提到。我在回调的开头添加了console.log(downloadDelta);
,但它没有被触发。
此处提到了该 API
编辑:测试扩展
这很可能与事件页面的特殊性有关 - 当您的页面被卸载时无法正常工作。
这很容易测试 - 从清单中删除"persistent": "false"
。
也就是说,测试扩展不会违反任何事件页面建议chrome.downloads
并且 API 不会列出任何不兼容性。因此,可能有两种情况:
-
由于页面被卸载,您很可能误解了结果。例如,如果在执行回调和您为其打开 devtools 之间卸载页面 - 控制台和所有本地状态将被擦除。
若要对此进行测试,请确保将诊断写入持久存储 -
chrome.storage
API 是其中一个选项。 -
如果您 100% 确定上述情况不是这样,则可能存在与事件页面和
chrome.downloads
相关的错误。在这种情况下,应该报告。
相关文章:
- 事件侦听器未在chrome扩展中的options.js中启动
- 使用onClick事件扩展Aviarc容器小部件
- 如何在可扩展ui网格中绑定子网格事件
- 可以't触发容纳在其内部的扩展DIV内部的事件's”;触发DIV”;
- 在Google Chrome扩展中添加事件侦听器
- Firefox for Android扩展:如何在每次页面加载时触发事件
- 在 Chrome 扩展程序中创建自定义事件的最惯用方式
- Chrome 扩展程序会等待设置加载到事件处理程序中
- Safari扩展中是否有任何Safari Popover隐藏事件
- Chrome 扩展程序在后台注册事件.js
- Kango 浏览器扩展开发中的鼠标悬停事件弹出窗口
- 如何用模块模式扩展javascript中的事件委派
- 未能执行'waitUntil'在'可扩展事件'
- 使用Chrome扩展内容脚本检测youtube视频事件
- 有没有办法扩展已经绑定的jQuery事件处理程序
- 在Chrome扩展选项页面中单击不起作用的事件
- 扩展浏览器以处理Apple键盘事件
- JQuery将事件扩展到给定类的新对象
- 未在内容脚本Chrome扩展上触发事件
- Chrome 扩展程序:事件侦听器