Обходной путь № 4: проверка readystate Это, вероятно, наилучший подход, хотя и немного беспорядочный (по сравнению с одним
элементом
video
и обработчиком событий). Мы будем проверять свойство
readyState
для элемента медиа. У обоих элементов,
audio
и
video
, есть данное свойство, и оно может
принимать следующие значения:
HAVE_NOTHING
=
0;
HAVE_METADATA
=
1;
HAVE_CURRENT_DATA
=
2;
HAVE_FUTURE_DATA
=
3;
HAVE_ENOUGH_DATA
=
4;
Таким образом, если ваша цель — привязка к событию
loadedmetadata
, делать это нужно
только тогда, когда значение
readyState
равно 0. Или, если вы хотите выполнить привязку
до того, как будет достаточно данных для воспроизведения, просто выбирайте вариант,
когда
readyState
меньше 4.
Наш предыдущий пример можно переписать так:
Таким образом, наш код аккуратно разместится внизу документа, и если JavaScript в брау-
зере будет отключен, аудиоролик все равно будет доступен. В моей книге — только лучшее.