Chrome应用中的Chrome.downloads.download

时间:2015-04-03 17:58:42

标签: javascript google-chrome google-chrome-app

当我尝试在我的应用中使用Chrome时,Chrome正在告诉我chrome.downloads是未定义的。

以下是我尝试下载图片的简单示例...

清单:

{
  "manifest_version": 2,
  "name": "Downloader",
  "minimum_chrome_version": "38",
  "permissions": ["downloads", "<all_urls>"],
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  }
}

HTML:

<body>
  <button id="download">Download</button>
  <script src="main.js"></script>
</body>

Background.js

chrome.app.runtime.onLaunched.addListener(function(launchData) {
  chrome.app.window.create(
    'index.html',
    {
      id: 'mainWindow',
      bounds: {width: 800, height: 600}
    }
  );
});

Main.js

window.onload = function() {
  document.querySelector("#download").addEventListener("click",
    function () {
      chrome.downloads.download({
        url: "http://upload.wikimedia.org/wikipedia/commons/6/6e/Moonbeam_UFO.JPG",
        filename: "ufo.jpg"
      });
    }
  );
};

在开发扩展程序时,有类似的帖子试图让下载对象正常工作,但我无法在应用程序中找到任何有关使用它的信息。有没有人能够成功地使用它,或者我做错了什么?

由于

1 个答案:

答案 0 :(得分:2)

Chrome应用程序(chrome.downloads)尚不支持crbug.com/274673 API。

但您仍然可以使用Web平台的标准API触发文件下载。事实上,您的问题中的逻辑可以完全用纯HTML复制:

<a download="ufo.jpg" href="http://upload.wikimedia.org/wikipedia/commons/6/6e/Moonbeam_UFO.JPG">Download</a>

(将锚定为按钮的样式留给读者练习)