javascript - Chrome 应用程序中的 Chrome.downloads.download

标签 javascript google-chrome google-chrome-app

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

这是一个简单的示例,我正在尝试下载图像...

list :

{
  "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>

背景.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"
      });
    }
  );
};

有类似的帖子关于在开发扩展时尝试让下载对象正常工作,但我找不到任何有关在应用程序中使用它的信息。有人能够成功使用这个,还是我做错了什么?

谢谢

最佳答案

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

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

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

(将 anchor 设计为按钮作为读者的练习)

关于javascript - Chrome 应用程序中的 Chrome.downloads.download,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437325/

相关文章:

google-chrome-app - 使用 Chrome 移动应用设置状态栏颜色

javascript - 将 Parse JavaScript SDK 与 Google Chrome 应用程序结合使用

javascript - 从json中提取信息

javascript - 如何在 Angularjs 中模拟 HTML 表单请求?

php 脚本在 Linux 启动时不执行

android - Chrome 手机 : URL bar causes trouble with footer

javascript - 最佳实践 : Searching an API and Filtering Data

javascript - jQuery FadeIn 和 FadeOut 导致闪烁?

javascript - FireFox 中的填充问题,但 Chrome 中没有

css - 调整 CSS 使 OSX Chrome 打印表情符号