У меня есть видео в качестве фона для веб-страницы, и я пытаюсь получить его в цикле. Вот код:
<video autoplay='true' loop='true' muted='true'>
<source src='/admin/wallpapers/linked/4ebc66e899727777b400003c' type='video/mp4'></source>
</video>
Несмотря на то, что я сказал видео в цикле, это не так. Я также попытался получить его в цикле с атрибутом onended
(согласно этот поток поддержки Mozilla, я также пробовал этот бит jQuery). До сих пор ничего не работало. Это проблема с Chrome или моим кодом?
Edit:
Я проверил сетевые события и HEAD рабочей копии (http://fhsclock-labs.heroku.com/no-violence) по сравнению с приложением, которое я пытаюсь получить. Разница заключается в том, что рабочая копия служит для ролика из статического актива на Heroku (через Varnish, по-видимому), в то время как моя работает от GridFS (MongoDB).
Вкладка "Сеть" в Chrome Inspector показывает, что в моем приложении видео запрашивается три раза. Один раз статус "ожидает", второй "отменен", а последний - 200. Рабочая копия показывает только два запроса: одно состояние находится на рассмотрении, а другое - 206 частичного содержимого. Однако после того, как видео воспроизводится один раз, этот запрос изменяется на "Отменено", и он делает другой запрос для этого видео. В моем приложении этого не происходит.
Что касается Type, в моем приложении два являются "undefined" и другие "video/mp4" (которые, как предполагается, должны быть). В рабочем приложении все запросы - "video/mp4".
Кроме того, я получаю предупреждения Resource interpreted as Other but transferred with MIME type undefined.
в консоли.
Я не совсем уверен, с чего начать. Я полагаю, что проблема связана с сервером, поскольку она служит файлу как статические активы. Возможно, сервер не отправляет правильный тип контента. Это может быть проблема с GridFS. Я не знаю.
Во всяком случае, источник здесь. Любое понимание, которое вы можете предложить, оценено.