我正在编写我的第一个简单的 Chrome 扩展,它应该根据下载它们的标签的标题将下载组织到子文件夹中。我计划在未来扩展它,但目前我什至无法使用这个简单的功能。问题似乎是无法从异步选项卡查询中调用“文件名建议”功能。以下代码为后台JavaScript文件的全部内容:
chrome.downloads.onDeterminingFilename.addListener(function (item, __suggest) {
//Find active tab
chrome.tabs.query({ active: true }, function (tabs) {
var activeTab = tabs[0];
//Generate filepath
var filepath = activeTab.title + "/" + item.filename;
//TODO: Sanitize filepath.
//Suggest filename for this download.
__suggest({ filename: filepath });
})
});
控制台记录的错误是:
suggestCallback may not be called more than once. (extensions::downloads:42)
我检查过 suggest 函数(在我的 JS 中)确实只被调用了一次。我有什么想法可以解决/解决这个问题吗?
最佳答案
If the listener calls
suggest
asynchronously, then it must returntrue
.
因此您需要在调用chrome.tabs.query
之后添加return true
。
关于javascript - 建议在 Chrome Ext 中异步下载文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32746290/