Влияют ли флаги Chrome на веб-страницы расширений Chrome?
Я пытаюсь разработать некоторый код JavaScript для автоматического воспроизведения аудио при загрузке страницы. Чтобы сделать это успешно, я пошел в chrome://flags и установил #autoplay-policy на "не требуется никаких жестов". Когда я сделал это, я смог успешно воспроизводить аудио автоматически из обычного JavaScript + HTML Тем не менее, когда я помещаю этот же код в файл content.js моего собственного расширения Chrome, я получаю эту ошибку "Uncaught (в обещании) DOMException", которая является той же ошибкой, которую я получал до того, как отключил флаг Chrome в своем обычные файлы JavaScript + HTML.
const sound = new Audio()
function playSound() {
sound.src = 'audio/dragon.mp3';
sound.play();
}
setTimeout(function () {
playSound();
}, 2000)
Это код, который работает на моей обычной веб-странице JavaScript + HTML после того, как я изменил #autoplay-policy, чтобы жесты не требовались. Когда я использую этот код в моем расширении Chrome, он не будет воспроизводить звук автоматически.
Общий вопрос заключается в том, влияют ли флаги Chrome на политики расширений Chrome? Или, если есть что-то еще, что не позволяет моему аудио проигрывать. Потому что я не понимаю, почему отключение #autoplay-policy позволяет моему одному веб-сайту автоматически воспроизводить MP3-файл, а расширение Chrome - нет.
1 ответ
Это было исправлено заменой "sound.src = 'audio/dragon.mp3';" с "sound.src = chrome.extension.getURL("audio/dragon.mp3");"