У меня есть расширение Chrome, которое отправляет запрос POST на мой веб-сайт из фонового скрипта расширения. Я получаю следующую ошибку (отображается в диспетчере расширений Chrome):
Отказался подключиться к 'https://my.website.com/path/', поскольку он нарушает следующую директиву политики безопасности содержимого : "default-sr c 'none'". Обратите внимание, что 'connect-sr c' не был задан явно, поэтому в качестве запасного варианта используется 'default-sr c'.
Честно говоря, мне даже не ясно, нужно ли мне изменить что-либо в js коде или на стороне сервера.
background. js:
var xmlHttp;
function makerequest(){
xmlHttp=new XMLHttpRequest();
xmlHttp.open("POST", "https://my.website.com/path/",true);
xmlHttp.onreadystatechange = got_response;
var formData = new FormData();
xmlHttp.send(formData);
}
function got_response(){
if (xmlHttp.readyState == 4){
alert(xmlHttp.responseText);
}
}
Манифест включает в себя:
"permissions": ["activeTab", "*://my.website.com/*","contextMenus"],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_security_policy":"connect-src 'self' https://my.website.com/*",
Я видел что есть другие связанные вопросы / ответы. Тем не менее, они либо пытаются получить доступ к чужому веб-сайту (не тот, который я контролирую), либо есть проблема с использованием встроенного кода, который, похоже, не является проблемой здесь, поскольку код находится в фоновом режиме. js (или если это, пожалуйста, объясните!). Если вы предлагаете другой ответ или проголосуете за закрытие, пожалуйста, проверьте, действительно ли другой ответ отвечает на ЭТОТ вопрос.