Я лично предпочитаю не использовать флеш ни за что и никогда, это моя личная позиция и я никому её не навязываю. Тем не менее иногда его всё-таки приходится использовать на сайтах. Как и все я люблю чтобы в коде всё было аккуратно, в частности валидно. На беду код который часто используют, и который генерируется самим флешом для вставки не проходит проверку валидатором, пример:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="484" height="205"> <param name="movie" value="/files/header.swf"> <param name="quality" value="high"> <param name="wmode" value="opaque"> <embed src="/files/header.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="484" height="205"></embed> </object>
Сиреневым выделено то, что по мнению Html Validator'а не валидно (это такой классный плагин который я нашла вчера, вот бывает что с утра не думала что мне это нужно, а оно уже есть =)).
Универсальный тег Object по мнению w3c призван заменить вставку семантически непонятных тегов типа <embed> и <iframe>. Подробно использовании его в качестве замены iframe я расскажу завтра, а сейчас скажу некоторые особенности. В частности этот тег должен иметь указание на тип подключаемого документа, т.е. правильно будет перенести type="application/x-shockwave-flash" из embed туда. Параметры classid и codebase - это нужно только старым версиям эксплорера, так что уберём их вообще. Ссылку на файл перенесём в объект в атрибут data. В итоге у нас получился очень красивый код.
<object type="application/x-shockwave-flash" data="/files/menu.swf" width="484" height="98"> <param name="movie" value="/files/menu.swf"> <param name="quality" value="high"> <param name="wmode" value="opaque"></object>
Если всё таки необходимо добавить проверку на версию флеша, можно использовать код как здесь: http://printf.ru/wiki/Embedding_Flash:
<!--[if false]> --> <object type="application/x-shockwave-flash" data="путь/к/swf" width="ширина" height="высота"> <!-- <![endif]--> <!--[if IE]> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="ширина" height="высота"> <param name="movie" value="путь/к/swf" /> <![endif]--> альтернативный текст </object>
Комментарии:
SelenIT
09.07.2009 19:20:16
Елена
09.07.2009 19:58:01
SelenIT
09.07.2009 20:24:50
Елена
09.07.2009 20:33:16
Михаил
13.08.2009 12:35:48
briskbrain
21.01.2013 23:53:02
Александр
28.06.2014 16:46:20