gpt4 book ai didi

javascript - Chrome 扩展 : How do I use declarativeNetRequest to bypass the Content Security Policy

转载 作者:行者123 更新时间:2023-12-05 00:33:23 30 4
gpt4 key购买 nike

我正在制作一个将用户提供的脚本注入(inject)当前网站的扩展。我已经完成了那部分(在 wOxxOm 的帮助下)。唯一的问题是,在某些网站上,它不起作用。它在控制台中抛出此错误:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' .我一直在尝试使用 declarativeNetRequest 解决此问题,但它不起作用。
规则1.json

[
{
"id": 1,
"priority": 1,
"action": {
"type": "modifyHeaders",
"responseHeaders": [
{
"header": "content-security-policy",
"operation": "remove"
}
]
},
"condition": {
"urlFilter": "*://*/*",
"resourceTypes": ["main_frame"]
}
}
]
list .json
{
...
"permissions": ["scripting", "activeTab", "declarativeNetRequest"],
...
"declarative_net_request": {
"rule_resources": [
{
"id": "ruleset_1",
"enabled": true,
"path": "/rules/rule1.json"
}
]
}
}
Javascript
let button = document.getElementById("run");
button.addEventListener("click", async () => {
let input = document.getElementById("script");
let script = input.value;
await execInPage(script);
});
async function execInPage(code) {
const [tab] = await chrome.tabs.query({ currentWindow: true, active: true });
chrome.scripting.executeScript({
target: { tabId: tab.id },
func: (code) => {
const el = document.createElement("script");
el.textContent = code;
document.head.appendChild(el);
},
args: [code],
world: "MAIN",
});
}
我正在使用 list v3。
该扩展尚未发布。我现在正在使用开发者模式。

最佳答案

它似乎不适用于使用该元素设置 CSP 的网站。
有人有其他解决方案吗?

关于javascript - Chrome 扩展 : How do I use declarativeNetRequest to bypass the Content Security Policy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70978021/

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