Я разрабатываю веб-расширение, доступное для Chrome и Firefox. Это расширение использует метод javascript fetch для извлечения данных из 2 API, Youtube API и Twitch API. Когда я запускаю запрос, я увидел разные заголовки ответа в Chrome по сравнению с Firefox. Однако эта разница сломала мое расширение в Firefox. Мне нужен «Access-Control-Allow-Origin» в заголовках ответов, и он у меня есть только в Chrome, а не в Firefox, я не понимаю, почему!
В документация они говорят, что им нужно поле «Origin» в запросе заголовка, чтобы предоставить в ответ «Access-Control-Allow-Origin». У меня правильный заголовок, но неправильный ответ.
Это мой код для метода выборки:
/**
* Obtientla promesse de donnée Youtube
*
* @method _getYoutubeDatasPromise
* @returns {Promise}
* @private
*/
_getYoutubeDatasPromise() {
const headers = new Headers();
return fetch(
`https://www.googleapis.com/youtube/v3/search?key=${YT_key}&channelId=${YT_UserId}&part=snippet,id&order=date&maxResults=2`,
{
method: 'GET',
mode: 'cors',
headers: headers
}
)
};
Это заголовки запроса / ответа:
И это журнал ошибок в консоли Firefox:
Спасибо за вашу помощь ! :)
Обновлено: manifest.json:
{
"name": "HuzLive",
"version": "0.1",
"description": "Soyez toujours au courant des lives & vidéos de votre streameur Dofus préféré",
"permissions": ["activeTab", "notifications", "storage"],
"background": {
"page": "background.html"
},
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/huz_logo16.png",
"32": "images/huz_logo32.png",
"48": "images/huz_logo48.png",
"128": "images/huz_logo128.png"
}
},
"icons": {
"16": "images/huz_logo16.png",
"32": "images/huz_logo32.png",
"48": "images/huz_logo48.png",
"128": "images/huz_logo128.png"
},
"applications": {
"gecko": {
"id": "{b8e90417-1550-474f-bd6e-de91b8382298}",
"strict_min_version": "42.0"
}
},
"manifest_version": 2
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


I believe you'll need to add a permission in the manifest.json of your extension - please include the manifest.json of your firefox web extension in the question - or read this documentation - you should never need CORS headers in an extension – Jaromanda X
Я нашел ответ! Я забыл указать домены api в разрешении моего manifest.json!
я просто добавляю:
"permissions": ["https://api.twitch.tv/*", "https://www.googleapis.com/*", "activeTab", "notifications", "storage"]
Большое спасибо !!
Я считаю, что вам нужно добавить разрешение в
manifest.jsonвашего расширения - пожалуйста, включитеmanifest.jsonвашего веб-расширения firefox в вопрос - или прочтите этот документация - вам никогда не нужны заголовки CORS в расширении