Похоже, у нас здесь есть асинхронный код. Тег p
получает свои данные синхронно, но в самом начале это undefined
. Затем, когда медиа закончил загрузку, видео получает данные. Вот почему
функция загруженных данных имеет правильное значение
Вот решение. Единственный недостаток - это URL вашего видео google chrome помечает как подозрительные, поэтому метаданные видео не могут быть предварительно загружены до того, как вы откроете видео в новой вкладке.