Флаш анимация без таг embed за валиден XHTML

В този урок за SEO оптимизиране се показва как уеб страница, която показва swf флаш анимация да бъде преработена към валиден XHTML код.

В примера се приема, че флаша се намира в директория /flash/2009.swf и има размери 294 ширина и 260 височина на полето за анимацията.

Ако кода е писан отдавна, вероятно ще изглежда подобно на този:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"  width="294" height="260"> <param name="movie" value="http://arthuradams.bg/flash/2009.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <embed src="http://arthuradams.bg/flash/2009.swf" wmode="opaque" quality="high"  pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="294" height="260"></embed> </object>

Този код не е валиден XHTML заради тага embed и при опит да мине през валидатора дава грешки, първата от които прилича на тази:

Line 181, Column 17:
Attribute „src“ exists, but can not be used for this element.
<embed src=“http://arthuradams.bg/flash/2009.swf“ wmode=“opaque“ quality=“h…

При търсене в Гугъл по думи като „XHTML embed“ излизат десетки статии, в които грешно се посочва, че горния код може да бъде заменен с нещо като:

<!--[if !IE]> --> <object type="application/x-shockwave-flash" data="http://arthuradams.bg/flash/2009.swf" width="294" height="260"> <!-- <![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="294" height="260"> <param name="movie" value="http://arthuradams.bg/flash/2009.swf" /> <!--><!--dgx--> <param name="loop" value="true" /> <param name="menu" value="false" /> <p>This is <b>alternative</b> content.</p> </object> <!-- <![endif]-->

Горния код е грешен и НЕ РАБОТИ!

Според мен единственото XHTML решение работещо на всички браузъри е с използване на JavaScript.
Пример с използване на swfobject.

Изтегли си файла https://ganbox.com/inc/swfobject.js и го качи на твоя сайт. В следващия пример се приема, че е в директория /jscripts
Между таговете head постави реда

<script type="text/javascript" src="/jscripts/swfobject.js"></script>

Там където искаш да се появи флаш филма постави следния div:

<div id="flashcontent" style="float:left; margin:10px"> <strong>You need to upgrade your Flash Player</strong> </div>

Слад това в страницата изпълни скрипта

<script type="text/javascript"> // <![CDATA[ var so = new SWFObject("http://arthuradams.bg/flash/2009.swf", "title", "294", "260", "7", "#FF6600"); so.write("flashcontent"); // ]]> </script>

Естествено вместо arthuradams.bg напиши името на домейна на твоя сайт. Би трябвало да стане и само с „/flash/2009.swf“.

 

Работещ пример има в старница обучения от ArthurAdams.bg, която е валиден XHTML.

В статията се ползва кода на проекта swfobject.

Прочетена:9520
« Предишна публикация

Видео клип в уеб страница

В тази статия ще покажа как бързо и лесно да включиш филм в уеб страница на твоя сайт. Като резултат при зареждане на страницата се показва поле с избрана от теб картинка. При натискане върху картинката ... Повече информация »

Следваща публикация »

Заместване на тага marquee за валиден XHTML

HTML тага marquee се използва за автоматично скролиране на текст. Текста поставен между тагове marquee се показва от браузъра като движещ се текст, хоризонтално или вертикално. Не използвай тага marquee основно по следните причини: кода на ... Повече информация »

4 коментара

  1. Веселин Стефанов 08.06.2009
  2. gbx 26.01.2010
споделиха