Январь 2009 Обновление Microsoft ломает звуковые объекты mp3 в IE7 - PullRequest
0 голосов
/ 22 февраля 2009

Есть несколько веб-сайтов, которые я поддерживаю, которые используют HTML аудио / mp3 объекты на странице. Они привыкли работать, но потом что-то сломалось. Страницы полагаются на Windows Media Player, если клиентский браузер IE.

Примерно месяц назад объект будет отображаться как элемент управления WMP. Это должно выглядеть как это alt text
(источник: calgarydj.ca )

Но теперь то, что появляется, напоминает почтовый слот с прикрепленной крошечной полосой прокрутки.
Нажмите на эту ссылку для просмотра. alt text
(источник: calgarydj.ca )

Я думаю, что это изменение может произошло с Января 2009 года обновления Microsoft .

Я искал ответы, но нашел только еще один вопрос по этому поводу. я имею видел несколько других сайтов с похожими проблемами. Вот другой сайт , который, похоже, имеет те же проблемы - см. эту страницу для примера аудио.

  1. Кто-нибудь еще сталкивался с этой проблемой? IE7 на Windows XP (2 системы)
  2. Это происходит в Vista или только в XP (или это только мои 2 системы)?
  3. Есть ли исправление?

Вот HTML-код для типичного звукового объекта

<div class="music">
  <p>Pachelbel's Canon</p>
  <object id="Cannon" type="audio/mpeg" data="./sound%20files/Pachebels%20Cannon.mp3" width="250" height="16">
    <param name="autoplay" value="false" />
    <param name="src" value="./sound files/Pachebels%20Cannon.mp3" />
    <object id="Cannon" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="250" height="50">
      <param name="autostart" value="false" />
      <param name="url" value="./sound%20files/Pachebels Cannon.mp3" />
      <param name="showcontrols" value="true" />

      <param name="volume" value="100" />
    </object>
  </object>
</div><!-- end of control -->

Это довольно крутой сайт. Но я попытался добавить изображения к этому сообщению, и изображения никогда не появляются в конечном сообщении. Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2009

Поэтому я решил использовать условные комментарии IE (тьфу!) Для устранения проблемы. Это некрасиво, но это работает. Он даже подтверждает как XHTML .

Есть еще 2 вложенных объекта, но теперь оболочка условных комментариев IE скрывает первый объект, поэтому IE не видит его, только второй. Firefox, Safari и Chrome видят первый объект и используют плагин Quicktime (если установлен) для визуализации элемента управления.

Другие браузеры игнорируют условные комментарии IE, потому что они выглядят как обычный блок открытых / закрытых комментариев с небольшим бредом в середине.

ПРИМЕЧАНИЕ: T отметки (`), окружающие строки комментария ниже, там не принадлежат, но вы делаете то, что необходимо, чтобы все обошлось здесь.

`<!--[if !IE]>-->`
  <object id="Cannon" type="audio/mpeg" data="./sound%20files/Pachebels%20Cannon.mp3" width="250" height="16">
    <param name="autoplay" value="false" />
    <param name="src" value="./sound files/Pachebels%20Cannon.mp3" />
`<!--<![endif]>-->`
  <object id="Cannon" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="250" height="60">
      <param name="autostart" value="false" />
      <param name="url" value="./sound%20files/Pachebels Cannon.mp3" />
      <param name="showcontrols" value="true" />
      <param name="volume" value="100" />
`<!--[if !IE]>--></object><!--<![endif]-->`
</object>

Не так давно IE7 игнорировал объекты типа audio / mpeg, если у них не было допустимого тега CLSID для Windows Media Player (WMP). Поскольку второй объект (в моей предыдущей модели) имел CLSID, IE отображал элемент управления WMP, и все было бы просто так. Другие браузеры просто распознают первый объект и используют плагин Quicktime для управления звуком.

9 декабря 2008 года Microsoft выпустила еще одно обновление безопасности для проигрывателя Windows Media. Все еще работало как раньше (для меня). За этим последовало еще одно обновление от 13 января 2009 года, предназначенное, в частности, для исправления обновления WMP от 9 декабря. (см. эту статью ). Именно тогда все перестало работать (в IE).

Теперь IE7 (в XP) отображает объекты no-class как нечто, похожее на почтовый слот с полосой прокрутки. Они примерно так же полезны, как почтовый слот на ЖК-экране. И браузер IE, удовлетворенный тем, что выполнил свою работу, игнорирует второй объект с правильным CLSID, вложенным в него.

Так что собственные условные комментарии IE 1035 * вытащили меня сюда из рассола, но именно Microsoft бросила гаечный ключ в свой собственный браузер! Почему Microsoft? Почему?

0 голосов
/ 22 февраля 2009

Я настоятельно рекомендую использовать Adobe Flash для воспроизведения музыки на веб-сайте. Он практически пуленепробиваемый по сравнению с внешними проигрывателями, такими как Windows Media Player, и вы также будете полностью контролировать внешний вид вашего проигрывателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...