Генератор случайных звуков каждые 5 секунд - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь генерировать случайный звук каждые 5 секунд, и моя проблема заключается в изменении src в аудиотэгах с html в javascript (см. Код). Я получаю эту ошибку Uncaught TypeError: Невозможно установить свойство 'src' изnull

Может кто-нибудь объяснить мне, что я делаю не так?

 (JS) 

 document.getElementById("song-generator").src = "test.mp3";


(html)

<embed
     id="song-generator"
  hidden="true"
  name="test"
  src=""
  loop="true"
  autostart="true"
/>

1 Ответ

0 голосов
/ 29 декабря 2018

Тот факт, что document.getElementById("song-generator") оценивается как null, говорит мне о нескольких возможных вещах:

  1. Возможно, в вашем HTML есть некоторый повторяющийся идентификатор.
  2. Есть синтаксическая ошибкагде-то в вашем HTML.

Если эти проблемы сохраняются после этих проверок, то я подозреваю, что вы вызываете getElementById до загрузки HTML.Чтобы учесть это, я бы обернул JS-код в прослушиватель событий для события 'load' , например:

<!-- Either put your actual JS code here, or link a script -->

<script>
  window.addEventListener("load", () => {
    //put business logic here
    document.getElementById("song-generator").src = "test.mp3";
  });
</script>

Кроме того, вы можете использовать window.onload, что делает то же самое :

<!-- Either put your actual JS code here, or link a script -->

<script>
  window.onload = () => {
    //put business logic here
    document.getElementById("song-generator").src = "test.mp3";
  });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...