Я разработал веб-сайт с 6 аудиофайлами. Он отлично работает в Chrome, IE9, Firefox, а также на устройствах iPad и Android. Но при загрузке в IE10 некоторые аудиофайлы не загружаются. В консоли нет сообщения об ошибке.
<audio id="audio1" preload="auto">
<source src="foo.mp3" type='audio/mpeg; codecs="mp3"'>
<source src="foo.ogg" type='audio/ogg; codecs="vorbis"'>
</audio>
На вкладке «Сеть» в IE10 я проверил «Начать захват» и начал просматривать страницы, содержащие аудио. В соответствии с аудиофайлами типы состояния и MIME были показаны как «ожидающие», а размер - как 0 байт. Я проверил тип MIME на сервере, и он был правильно установлен.
AddType audio/ogg .ogg
AddType audio/mpeg .mp3
В запросах GET были некоторые специфические вещи. Всего было три запроса на файл .mp3. Результат первого запроса отображается как «прерванный».
Заголовки запроса
Accept */*
Accept-Encoding gzip, deflate
Accept-Language en-US
Connection Keep-Alive
DNT 1
GetContentFeatures.DLNA.ORG 1
Host foobar.com
Pragma getIfoFileURI.dlna.org
Referer http://foobar.com/
Request GET /foobar/media/file1_001_01_01.mp3 HTTP/1.1
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Заголовок ответа пуст.
Результатом второго запроса GET является 206 частичного содержимого.
Заголовки запроса
Request GET /foobar/media/file1_001_01_01.mp3 HTTP/1.1
Accept */*
If-Unmodified-Since Mon, 17 Feb 2014 05:37:37 GMT
If-Match "d12e3-b8a9-4f2938d9f8a40"
Range bytes=24576-47272
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Referer http://foobar.com/
GetContentFeatures.DLNA.ORG 1
Pragma getIfoFileURI.dlna.org
Accept-Language en-US
Accept-Encoding gzip, deflate
Host foobar.com
DNT 1
Connection Keep-Alive
Заголовки ответа
Response HTTP/1.0 206 Partial Content
Date Tue, 18 Feb 2014 04:52:39 GMT
Server Apache
Last-Modified Mon, 17 Feb 2014 05:37:37 GMT
ETag "d12e3-b8a9-4f2938d9f8a40"
Accept-Ranges bytes
Content-Type audio/mpeg
Content-Range bytes 24576-47272/47273
Content-Length 22697
Age 2
X-Cache HIT from localhost
X-Cache-Lookup HIT from localhost:3128
Via 1.1 localhost:3128 (squid/2.7.STABLE7)
Connection keep-alive
Proxy-Connection keep-alive
Результат третьего запроса отображается как "Ожидание".
Заголовок запроса
Request GET /foobar/media/audio1_001_01_01.mp3 HTTP/1.1
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
If-Modified-Since Mon, 17 Feb 2014 05:37:37 GMT
If-None-Match "d12e3-b8a9-4f2938d9f8a40"
Accept */*
Referer http://foobar.com/
GetContentFeatures.DLNA.ORG 1
Pragma getIfoFileURI.dlna.org
Accept-Language en-US
Accept-Encoding gzip, deflate
Host foobar.com
DNT 1
Connection Keep-Alive
Я загрузил свой сайт в браузере inPrivate в IE10, и он работал без проблем. Также проблема возникает только тогда, когда сайт загружается с сервера. Я загрузил сайт из моего localhoset в IE10 в обычном режиме, и все работало нормально.
Я пробовал разные вещи, чтобы это сработало, но пока ничего не получалось. Я уже сделал следующие вещи:
- Очистили кеш и историю, нажав Ctrl+Shift+Delete и «Ok».
- Выполнено «очистить личные настройки» на вкладке «Дополнительно» в окне «Свойства обозревателя».
- Разместите мой сайт в надежных сайтах.
- Отключены все плагины и надстройки.
- Отключен брандмауэр Windows.
- Отключена антивирусная защита.
- Свойства обозревателя> Дополнительно> Ускоренная графика> установлен флажок «Использовать программный рендеринг вместо графического рендеринга».
Я проверил сайт в IE10 на другом компьютере, и проблема сохраняется в нем тоже.
Примечание: Первоначально это было опубликовано в Super User, но я не получил никакого ответа в течение трех дней. Существует гораздо большая возможность получить ответ от stackoverflow. Поэтому, пожалуйста, не отмечайте этот пост.