- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如我从 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions 学到的要发出不受限制的 cors 请求,拥有主机权限就足够了,所以我的 list 如下所示:
"permissions": [
"activeTab",
"proxy",
"<all_urls>"
],
我还尝试使用 list 中关于 csp 的 key :
"content_security_policy": "default-src 'self' 'unsafe-inline'; script-src 'self'; object-src 'self'"
但这并没有帮助但是当我尝试制作 xhr 时,我仍然在控制台中看到:
内容安全策略:页面的设置阻止加载https://jsonplaceholder.typicode.com/posts/1处的资源(“default-src”)(使用上面的 csp 设置;使用默认 csp,我什至没有看到请求尝试)
document.addEventListener("click", (e) => {
function sendCredentials() {
var payload = JSON.stringify({
'login': document.login.value,
'password': document.password.value
});
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == XMLHttpRequest.DONE) {
browser.runtime.sendMessage({
"type": "save_token",
"session_token": 'dummy_token'
});
}
}
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
xhr.send();
if (e.target.id == 'submit') {
sendCredentials();
}
}
我希望在将manifest.json中的主机权限设置为之后,我将能够请求任何网址
最佳答案
我猜测代码被注入(inject)到页面中。这是正确的吗?
主机权限适用于扩展程序发出的请求。一旦您将代码注入(inject)到页面中,它就会从页面获得许可,并且 CORS 通常会被阻止。
您可以将其传递回扩展程序以发出请求,然后使用消息 API 将其传递回页面。
Firefox 似乎表示“我们正在阻止所有第三方存储访问请求,并且已启用内容阻止”。 Blocked: All third-party storage access requests
您可以尝试从后台脚本或页面执行此操作。例如,它在选项页面上工作得很好。
关于javascript - 尽管有 <all_urls> list 权限,但来自扩展程序的 Xhr 仍被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57033630/
我有一个使用 content_script 声明式指定的扩展: list .json: "content_scripts": [ { "matches": [""], "js":
我认为 Chrome 应用程序是沙盒的,但我看到您可以允许 file:// url 的权限,并且有一个特殊的匹配模式: Matches any URL that uses a permitt
我不确定这是一个错误,还是我的 list 文件配置错误,但 权限不适用于内容脚本注入(inject)。这是一个导致错误的简单示例 manifest.json: { "manifest_versio
正如我从 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permission
我正在尝试了解 Google Chrome 扩展的工作原理。我正在研究manifest.json我遇到权限的文件 "http://*/*" , "https://*/*"和"" 谁能解释一下这些权限的
我有一个 chrome MV3 扩展,它具有以下 manifest.json: { "manifest_version": 3, "permissions": [ "scripting
我是一名优秀的程序员,十分优秀!