Многие, кто работали с валидаторм знают, что он не любит код, который генерирует дримвивер. Вот пример кода:
<object classid="clsid:d27cdb6e-ae6d-11cf-[...]” codebase=”http://fpdownload.macromedia.com/ pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0? width=”180? height=”80?> <param name=”movie” value=”logo.swf” /> <param name=”quality” value=”high” /> <param name=”bgcolor” value=”#ffffff” /> <embed src=”logo.swf” quality=”high” bgcolor=”#ffffff” type=”application/x-shockwave-flash” width=”180? height=”80? pluginspage=”http://www.macromedia.com/go/getflashplayer” /> </object>
по правилам валидатора этот код не пройдет валидацию. Что же нам делать? Использовать один замечательный скрипт, который избавит от головной боли.
И так, скачиваем этот скрипт
Вставляем его в шапку
<script type="text/javascript" src="/swfobject_source.js"></script>
И можно вставлять наш флеш-ролик.
<div id="roll"> Этот текст будет заменён Flash роликом, его пользователь увидит лишь в том случае, если у него нет необходимой версии Flash Player-а или вовсе его нет. </div>
Сам флеш вставляется так:
<script type="text/javascript">
var so = new SWFObject("logo.swf", "roll", "180", "80", "8", "#FFFFFF");
so.write("roll");
</script>
Обратите внимание, что мы указываем «roll» как тот контейнер в котором будем выводить нашу флешку.
По мимо всего прочего, у скрипта есть все нужные параметры, вот их список и краткое описание:
var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
Обязательные параметры:
swf — Путь к флеш ролику.
id — ID того элемента, куда будет вставляться флеш.
width — Ширина флеш ролика.
height — Высота флеш ролика.
background-color — Цвет фона у ролика.
Дополнительные параметры:
quality — Качество отображения. По умолчанию “high”.
xiRedirectUrl — Адрес, куда переадресовывать пользователей после ExpressInstall upgrade.
redirectUrl — Адрес переадресации пользователей без необходимой версии Flash Player-a.
detectKey — Специальная “URL переменная” на случай, когда нет необходимости проверять на наличие Flash-a, путем добавления к URL с документом ?detectflash=false
И это не всё. SWFObject умеет ещё много всего полезного. Например, задавать прозрачность у Flash ролика и передавать ему Flashvars (полный список параметров):
<script type="text/javascript">
var so = new SWFObject("logo.swf", "roll", "180", "80", "8", "#FFFFFF");
so.addParam("wmode", "transparent");
so.addVariable("variable1", "value1");
so.addVariable("variable2", "value2");
so.addVariable("variable3", "value3");
so.write("roll");
</script>
Как можно заметить, всё достаточно просто и красиво.

