gpt4 book ai didi

javascript - Chrome 扩展程序 : webNavigation while limiting permissions scope

转载 作者:行者123 更新时间:2023-12-01 01:31:15 31 4
gpt4 key购买 nike

我有一个 Chrome 扩展程序,可以监视某些网站上网址中的额外查询参数。我正在向新网站添加功能,但遇到的问题是该网站重定向到不同的网址,并在加载内容脚本之前删除我的自定义查询。

看起来我可以通过使用 webNavigation API 来解决这个问题在我的后台脚本中并添加 chrome.webNavigation.onCommissed 的监听器。问题是,通过将 webNavigation 权限添加到我的 list 中,我现在请求“读取您的浏览历史记录”的权限。我花了很多时间试图将我的扩展权限范围限制到某些网站,我真的不想像这样向用户请求全权许可。

我在 SO 上找到了另外两个关于此问题的线程,但是 in one ,用户发现了一个我认为不适用于我的情况的解决方法(尽管如果有人有建议的解决方法,我洗耳恭听),并且 other suggests通过在监听器声明中添加过滤器,它将限制权限请求。这个答案没有被认为是正确的,事实上,无论我是否有过滤器,我都没有看到任何权限差异。

是否根本无法实现我想做的事情并且还限制了权限警告的范围?或者我错过了什么?谢谢。

我的 webNavigation 监听器声明:

chrome.webNavigation.onCommitted.addListener(function(e) {
//Can dig out my query parameter from e
console.log(e);
},{
url: [{hostContains: "[NAME OF HOST]"}]
});

最佳答案

我能够找到适合我情况的解决方法。我不认为这对每个人都有效,但是使用 webRequest API允许我在重定向之前拦截页面加载请求并存储我的查询字符串以供以后使用。 webRequest API 也没有请求任何超出我通过 list .json 文件中的 content-script>matches 数组请求的权限,这会导致 Chrome 请求“读取和更改数字上的数据”的权限网站”,然后列出这些网站。

chrome.webRequest.onBeforeRequest.addListener(
function(details) {

//details.url contains my query string
var url = details.url;
return;
}, {
urls: ['*://*.mysite.com/*'],
types: ['main_frame'] //Filters out all the js,css,ajax,etc requests
}
);

关于javascript - Chrome 扩展程序 : webNavigation while limiting permissions scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53252685/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com