По данным Opera Developer Community всего 5% всех веб-страниц в интернете, подчиняются стандартам W3C. То есть, люди никогда не писали по стандартам, и видимо не собираются. Тем не менее, приближаясь к эре Веб 3.0 мы наконец-то научились пользоваться правильными Doctype’ами и познакомились с XML и XHTML.
В отличии от HTML 4.01 (и ранних версий), XHTML более привередлив к стандартам консорциума W3C. Но в этом есть и огромный плюс. Чем ближе мы к стандартам W3C, тем “одинаковее” наши страницы будут отображаться в различных браузерах.
Что касается Flash. В HTML 4.01 особых проблем небыло, но в XHTML эти же трюки не сработают. Особенно в IE 6 и ниже. На помощь приходят, так называемые, IE хаки (IE hacks). Итак, как правильно и валидно вставить Flash объект в XHTML:
<!--[if !IE]> --> <object type="application/x-shockwave-flash" data="movie.swf" width="300" height="135"> <!-- <![endif]--> <!--[if IE]> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="300" height="135"> <param name="movie" value="movie.swf" /> <!--><!--dgx--> <param name="loop" value="true" /> <param name="menu" value="false" /> <p>Альтернативное содержание.</p> </object> <!-- <![endif]-->
Почему Macromedia? А потому, что не все ещё успели перепрыгнуть на Adobe, и перегонять свои флеши из 6-й версии Macromedia в текущую Adobe слишком долго и мучительно
Преимущества использования данного метода:
- 100% валидный XHTML 1.0
- Работает во всех браузерах (лично я пробовал Opera 7.5, 8.5, 9.0, IE 5, 5.5, 6, 7, Firefox 1.5, 2, 3)
- Гарантированный показ альтернативного содержания при отсутствии возможности просмотреть Flash объект (даже если он тупо не найден)
- Никакого javascript
- Никаких лишних “param” элементов




