Разрешения WebExtensions для обхода проверки CORS для AudioContext.createMediaElementSource

#javascript #cross-domain #web-audio-api #firefox-addon-webextensions

#javascript #междоменный #web-audio-api #firefox-дополнение-webextensions

Вопрос:

Приложение, которое я разрабатываю, представляет собой аудиовизуализатор на основе WebExtensions. В примере из документов Mozilla микрофон пользователя используется в качестве входного потока для AnalyserNode, но я хочу использовать воспроизведение звука на странице в браузере пользователя.

Чтобы получить воспроизведение медиапотока с активной вкладки, я использую AudioContext.createMediaElementSource(elem) с активным аудиоэлементом. Как я узнал, браузер будет уважать CORS с помощью этой функции (Access-Control-Allow-Origin: * требуется для ресурсов с разными источниками).

WebExtensions могут использовать разрешения для отключения CORS для всех URL-адресов, указав разрешение «<all_urls>» в manifest.json, что я и сделал.

Несмотря на это разрешение, сценарий содержимого, выполняющий createMediaElementSource, по-прежнему блокируется CORS. Сообщение об ошибке в Firefox: «HTMLMediaElement, переданный createMediaElementSource, имеет ресурс с перекрестным источником, узел выводит тишину».

Возможно ли использовать междоменный медиапоток из WebExtension без вмешательства CORS?

Комментарии:

1. где в любой из ваших ссылок говорится, что вы можете использовать разрешения для обхода CORS для существующих мультимедийных элементов — насколько я вижу, только XMLHttpRequest и fetch будет обходить перекрестные ограничения происхождения

2. @JaromandaX нигде. StackOverflow рекомендует пользователям описать, что они пробовали и почему это не соответствует их потребностям.

3. Справедливо, я думал, что неправильно прочитал документацию … Я не думаю, что то, что вы хотите сделать, возможно в этом случае — рад, что оказался неправ: p