<object height = "25" width = "75" codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param value = "http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" name = "movie"/>
<param value = "high" name = "quality"/>
<param value = "#FFFFFF" name = "bgcolor"/>
<param value = "opaque" name = "wmode"/>
<embed height = "25" width = "75" wmode = "opaque" pluginspage = "http://www.macromedia.com/go/getflashplayer" type = "application/x-shockwave-flash" bgcolor = "#FFFFFF" quality = "high" src = "http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK"/>
</object>
Мне нужно вставить эту устаревшую разметку на новый сайт, который я создаю. Проблема заключается в использовании тега <embed>.
Могу ли я просто покончить с <embed> и добавить какой-нибудь контент в качестве альтернативы для тех, у кого нет вспышки? По сути, я просто пытаюсь перенести этот кусок HTML в 21 век.






Я использую функцию AC_FL_RunContent для встраивания флеш-объектов - это хорошо, потому что поддерживает все браузеры и рекомендовано Adobe.
Еще здесь:
Они также предлагают использовать тег <object> вместо <embed>.
Вы можете вкладывать элементы объекта, чтобы отображать альтернативы. W3C объясняет это здесь. Я скопировал фрагмент ниже:
One significant consequence of the OBJECT element's design is that it offers a mechanism for specifying alternate object renderings; each embedded OBJECT declaration may specify alternate content types. If a user agent cannot render the outermost OBJECT, it tries to render the contents, which may be another OBJECT element, etc.
In the following example, we embed several OBJECT declarations to illustrate how alternate renderings work. A user agent will attempt to render the first OBJECT element it can, in the following order: (1) an Earth applet written in the Python language, (2) an MPEG animation of the Earth, (3) a GIF image of the Earth, (4) alternate text.
<P> <!-- First, try the Python applet -->
<OBJECT title = "The Earth as seen from space"
classid = "http://www.observer.mars/TheEarth.py">
<!-- Else, try the MPEG video -->
<OBJECT data = "TheEarth.mpeg" type = "application/mpeg">
<!-- Else, try the GIF image -->
<OBJECT data = "TheEarth.gif" type = "image/gif">
<!-- Else render the text -->
The <STRONG>Earth</STRONG> as seen from space.
</OBJECT>
</OBJECT>
</OBJECT>
По сути, вам следует продолжать встраивать, потому что это запасной вариант для некоторых старых браузеров. Это может повредить валидацию страницы, но пока вы знаете, почему она там есть, все в порядке.
По крайней мере, так официально рекомендует Adobe: Синтаксис тегов Macromedia Flash OBJECT и EMBED
Вы правы, что хотите написать код для XXI века, но нам приходится иметь дело с браузером прошлого тысячелетия ... :-)
Я нашел этот код в Интернете (с сайта удобства использования), который обслуживает IE и другие, и использую его на своих флеш-страницах (я изменил его на ваш код):
<!--[if !IE]> -->
<object type = "application/x-shockwave-flash" data = "http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" width = "75" height = "25">
<!-- <![endif]-->
<!--[if IE]>
<object classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width = "75" height = "25">
<param name = "movie" value = "http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" />
<!--><!--dgx-->
<param name = "loop" value = "false">
<param name = "menu" value = "false">
<param name = "quality" value = "high">
</object>
<!-- <![endif]-->
Я рекомендую вам использовать swfobject, кроссплатформенную библиотеку с открытым исходным кодом для отображения flash на ваших страницах.
http://code.google.com/p/swfobject/
Существует множество способов загрузить флэш-память и альтернативный (не флэш-контент) контент. Например, следующий код может заменить ваш код:
<script type = "text/javascript" src = "swfobject.js"></script>
<script type = "text/javascript">
swfobject.embedSWF("http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK",
"myContent", "25", "75", "9.0.0");
</script>
<div id = "myContent">
<p>Alternative content</p>
</div>
Да, но с каким браузером вы хотите работать, используя тег "embed"? Насколько я знаю, даже IE 6 может воспроизводить флеш-ролики в теге «объект» без «встраивания» вполне нормально. И это, наверное, один из худших браузеров, с которыми приходится иметь дело в наши дни ...