Google chrome extension 仅请求XHR的附加权限,不请求浏览历史记录
我正在尝试开发一个扩展,它允许我监控所有下载的总进度。我想获得所有当前下载项目的总百分比,并执行XHR请求以报告我的进度 我对发出XHR请求所需的权限有问题 My manifest.json: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
{"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抱歉在我发表评论之前没有读两遍。我可以从请求中删除权限
。这部分解决了我的问题。非常感谢。