“下载所选链接”示例扩展名未下载链接

时间:2017-09-22 11:37:25

标签: google-chrome-extension

我想创建一个Chrome扩展程序,允许用户下载通过一个或多个正则表达式捕获的文本。要了解如何创建此类扩展程序,我已下载并安装了Chrome的Sample Extensions之一:标题为Download Selected Links的文件。

扩展程序图标显示在我的浏览器中,并且正则表达式似乎正常工作(弹出窗口显示了一长串链接,这些链接似乎明显已从我正在使用的选项卡中删除),但是当我点击“全部下载”按钮,弹出窗口关闭,我所选择的链接都没有下载。

enter image description here

1 个答案:

答案 0 :(得分:1)

我能够通过删除popup.js调用window.close()的代码行来实现它:

// Download all visible checked links.
function downloadCheckedLinks() {
  for (var i = 0; i < visibleLinks.length; ++i) {
    if (document.getElementById('check' + i).checked) {
      chrome.downloads.download({url: visibleLinks[i]},
                                             function(id) {
      });
    }
  }
  window.close(); // <-- Delete this line.
}

点击“全部下载”后,弹出窗口将保持打开状态。按钮,下载应该在几分之一秒后开始。我最好的猜测是,使用window.close()关闭弹出窗口可能会禁用下载开始所需的一些权限。

我进行了一项实验,我选择了所有网址(一个很长的列表,可能是50个或更多),然后点击了“全部下载”,然后点击弹出窗口,这样就可以了它会关闭,前五页左右下载,但后来没有了。

我也遇到了这个看似有用的问题: How to download a file via a Chrome Content Script? ...但我无法使消息传递方法正常工作(向background.html发送消息,指示其下载指定的网址。)