Javascript 建议在Chrome Ext中异步下载文件名
我正在编写我的第一个简单的Chrome扩展,它应该根据下载标签的标题将下载内容组织到子文件夹中。我计划在将来扩展它,但目前我甚至不能让这个简单的功能正常工作。问题似乎是无法从异步选项卡查询中调用“filename suggest”函数。下面的代码是后台JavaScript文件的完整内容:Javascript 建议在Chrome Ext中异步下载文件名,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在编写我的第一个简单的Chrome扩展,它应该根据下载标签的标题将下载内容组织到子文件夹中。我计划在将来扩展它,但目前我甚至不能让这个简单的功能正常工作。问题似乎是无法从异步选项卡查询中调用“filename suggest”函数。下面的代码是后台JavaScript文件的完整内容: chrome.downloads.onDeterminingFilename.addListener(function (item, __suggest) { //Find active tab
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中)肯定只被调用一次。有什么办法可以解决这个问题吗?如前所述:
如果侦听器异步调用suggest
,那么它必须返回true
因此,您需要在调用
chrome.tabs.query
之后添加return true
,啊,错过了这一点。谢谢。