如何取消chrome下载之前,它开始并获得下载url

How to cancel a chrome download before it starts and get the download url?

本文关键字:下载 开始 url 何取消 取消 chrome      更新时间:2023-09-26

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

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

我代码:

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);
});
正如我所说,这段代码没有取消下载并显示测试的url。我该怎么做呢?

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

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

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