建议在Chrome Ext中异步下载文件名

时间:2015-09-23 17:52:40

标签: javascript google-chrome-extension

我正在编写我的第一个简单的Chrome扩展程序,该扩展程序应根据从中下载的标签的标题将下载内容组织到子文件夹中。我计划在将来扩展它,但目前我甚至无法使用这个简单的功能。问题似乎是无法从异步选项卡查询中调用'filename suggest'函数。下面的代码是后台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)

我已经检查过,建议功能(在我的JS中)肯定只调用过一次。我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

正如the documentation所说:

  

如果侦听器异步调用suggest,则必须返回true

因此,您需要在致电return true后添加chrome.tabs.query