Мне также не повезло с рекомендациями мистера Мансура load
и play
.Я думаю, проблема в том, что вы оба правильно поняли половину: а) установите autoplay
на true
и б) просто сделайте это на фоновой странице.
Например, я получил этот фонстраница работает нормально:
<!doctype html>
<html>
<body>
<script type="text/javascript">
var url = "http://translate.google.com/translate_tts?tl=en&q=Background";
var audio = new Audio(url);
audio.autoplay = true;
</script>
</body>
</html>
Обратите внимание, что я никогда не добавлял элемент в документ;если вам не повезет, вы всегда можете воспользоваться appendChild
и посмотреть, будет ли это иметь значение.
Кроме того, я думаю, что ваш оригинальный код должен нормально работать - даже если элемент с идентификатором doc
не существует - если вы добавите его на фоновую страницу.
Еще несколько заметок
По какой-то странной причине "исправляем" амперсанд до &
вместо &
ломает это для меня.Неловко, но просто предостережение для других.
Кроме того, если вы просто откроете консоль и вставите три строки JavaScript сверху, это, вероятно, не сработает - если вы не находитесь на специальной страниценапример, страница новой вкладки, страница параметров расширения или, как вы уже догадались, страница фона расширения.Я не уверен, почему это так, но Chrome может иметь ограничения на то, кто может вставлять аудиоконтент и воспроизводить его.Я не знаю, почему это так, или намеренно, или непреднамеренно.Наверное, просто еще одно предостережение в работе с HTML5.