Поэтому я решил использовать условные комментарии 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? Почему?