Google chrome extension 仅请求XHR的附加权限,不请求浏览历史记录

Google chrome extension 仅请求XHR的附加权限,不请求浏览历史记录,google-chrome-extension,Google Chrome Extension,我正在尝试开发一个扩展,它允许我监控所有下载的总进度。我想获得所有当前下载项目的总百分比,并执行XHR请求以报告我的进度 我对发出XHR请求所需的权限有问题 My manifest.json: {"name": "__MSG_extName__", "version": "0.3", "manifest_version": 2, "description": "__MSG_extDesc__", "icons": {"128": "icon128.png"}, "browser_act

我正在尝试开发一个扩展,它允许我监控所有下载的总进度。我想获得所有当前下载项目的总百分比,并执行XHR请求以报告我的进度

我对发出XHR请求所需的权限有问题

My manifest.json:

{"name": "__MSG_extName__",
 "version": "0.3",
 "manifest_version": 2,
 "description": "__MSG_extDesc__",
 "icons": {"128": "icon128.png"},
 "browser_action": {
   "default_icon": {
     "19": "icon19.png",
     "38": "icon38.png"},
   "default_title": "__MSG_extName__",
   "default_popup": "popup.html"
  },
  "options_ui": {
    "page": "options.html",
    "chrome_style": true
  },
 "background": {"persistent": false, "scripts": ["background.js"]},
 "default_locale": "en",
 "optional_permissions": ["http://*/", "https://*/", "tabs"],
 "permissions": ["downloads"]
 }
正如您最初看到的,我只请求
下载
权限,但我希望允许最终用户使用“选项”页面指定其端点URL:

不幸的是,在请求权限时,我遇到了以下问题:

这不是我真正需要的。我只需要对特定URL执行XHR请求的权限,我不需要
阅读您的浏览历史记录
权限

以下是我请求权限的方式:

var getLocation = function(href) {
    var l = document.createElement("a");
    l.href = href;
    return l;
};
var url = document.getElementById("url").value;
var l = getLocation(url);
var newUrl = l.protocol+'//'+l.hostname+'/';
chrome.permissions.request({
    permissions: ['tabs'],
    origins: [newUrl]
    }, function(granted) {
    if (granted) {
      console.log('OK');
    } else {
      console.log('NIE');
    }
});
我想我不能将第一个权限从
读取并将192.168.10.101上的数据更改为
请求192.168.10.101
,但我可以取消第二个权限吗

我已尝试将请求代码更改为:

chrome.permissions.request({
    permissions: [newUrl],
    origins: [newUrl]
    }, function(granted) {
    if (granted) {
      console.log('OK');
    } else {
      console.log('NIE');
    }
});
但我有一个例外:

运行权限时未选中runtime.lastError。请求: “”不是可识别的权限


我不想将
“http://*/”
添加到权限中,因为我不会对所有可能的地址进行请求,只对单个地址进行请求,我希望允许用户进行设置并在需要时进行更改。

仅供参考,
选项卡
权限显示为“读取您的浏览历史记录”。您不需要它,请查看@wOxxOm如果我请求权限,我必须传递
权限
来源
。如果我正确理解了Originates是url,但我必须在权限中传递某些内容,我已经尝试传递与Originates相同的url,但这不起作用。我可以用什么替换
选项卡
,@wOxxOm抱歉在我发表评论之前没有读两遍。我可以从请求中删除
权限
。这部分解决了我的问题。非常感谢。