如何在启动之前取消Chrome下载并获取下载URL?

时间:2016-11-10 04:34:01

标签: javascript google-chrome-extension download listener

我想使用Chrome扩展程序集成我的C#下载管理器,我是扩展程序开发的新手。

所以我需要检测何时以chrome发送下载请求。然后我需要获取网址并将其传递给我的程序进行下载。我试过了,但无法得到任何回应。

我的代码:

manifest.js

{
  "manifest_version": 2,

  "name": "ADM",
  "description": "This extension shows a Google Image search result for the current page",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png"
  },
  "permissions": [
    "downloads",
    "https://ajax.googleapis.com/"
  ],

  "content_scripts": [{
    "matches" : ["http://*/*", "https://*/*"],
    "js" : ["myscript.js"]
  }]
}

myscript.js

chrome.downloads.onDeterminingFilename.addListener(function (item) {
    chrome.downloads.cancel(item.id);
    alert(item.url);
});

正如我所说,此代码没有取消下载并显示测试网址。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您正尝试从内容脚本访问特权Chrome apis,出于安全原因,这是不允许的。您需要将代码移动到事件页面。

"background": { "scripts": ["myscript.js"], "persistent": false }

另外,请阅读架构概述:https://developer.chrome.com/extensions/overview#arch