Я немного поэкспериментировал и обнаружил, что удаление тега <embed>
приводит к тому, что IE не встраивает видео. Я был удивлен, что IE использовал тег embed, поэтому углубился в это. Если вы просто хотите узнать ответ, прокрутите вниз «резюме» в конце!
Самое простое, что работало в IE8, это:
<embed src="http://www.youtube.com/v/NWHfY_lvKIQ?fs=1&hl=en_GB&border=1"
width="660"
height="405">
</embed>
Там нет атрибута типа, поэтому браузер должен проверять MIME-тип атрибута src, чтобы выяснить, что делать. Я подтвердил это, передав файл Flash с другим типом MIME - он не будет воспроизводиться, если я не предоставлю атрибут типа application / x-shockwave-flash (это поведение задокументировано для IE здесь )
Конечно, если тег <object>
содержит , содержит classid, <embed>
будет проигнорировано, чего вы и ожидаете. Я подтвердил это, добавив тег тега embed к другому видео
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="660" HEIGHT="405" id="adobeWay">
<PARAM NAME=movie VALUE="http://www.youtube.com/v/NWHfY_lvKIQ?fs=1&hl=en_GB&border=1">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<embed src="http://youtube.com/v/rIFh1ydXWmg"
type="application/x-shockwave-flash"
allowscriptaccess="always"
allowfullscreen="true"
width="660"
height="405">
</embed>
</OBJECT>
Когда используется тег объекта, плагин Flash не заботится о типе фильма MIME. Я снова подтвердил это, предоставив действительный SWF-файл с другим типом MIME.
Удалите classid из этого последнего теста, и вы получите альтернативное видео в теге <embed>
. Это заставляет меня задуматься, зачем вообще нужны теги <param>
, если их просто игнорируют при вставке в стиле YouTube.
Краткое описание
Если в <object>
нет атрибута classid
(или любого другого способа определения необходимого плагина, например атрибута данных), IE отображает все, что может найти внутри тега объекта, что означает, что он будет отображать * Тег 1030 * (IE называет это отступление объекта ). Если этот тег не содержит атрибута type
, то тип MIME src
используется для определения правильного плагина для использования.