Флаш анимация без таг 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"></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" излизат десетки статии, в които грешно се посочва, че горния код може да бъде заменен с нещо като:

<!--&#91;if !IE&#93;> --> <object type="application/x-shockwave-flash" data="http://arthuradams.bg/flash/2009.swf" width="294" height="260"><!-- <!&#91;endif&#93;--> <!--&#91;if IE&#93;> <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">This is <b>alternative</b> content.</object> <!-- <!&#91;endif&#93;-->

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

Според мен единственото 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"> // <!&#91;CDATA&#91; var so = new SWFObject("http://arthuradams.bg/flash/2009.swf", "title", "294", "260", "7", "#FF6600"); so.write("flashcontent"); // &#93;&#93;> </script>

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

 

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

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

Прочетена:13444
1 - лоша2 - слаба3 - средна4 - добра5 - отлична (1 гласа, оценка: 5,00 от 5. Моля изберете оценка!)
Loading...
Георги Стефанов
Георги Стефанов
Магистър по информатика, който се занимава с компютри от 1988 г., професионално с програмиране от 1998 г., а с уеб технологии от 2002 г. Има богат опит при оптимизиране на бизнес сайтове. Повече от 12 години развива успешно свои уеб проекти и работи с български и международни компании за постоянно подобряване на техните сайтове и увеличаване на онлайн продажбите. 

4 comments on “Флаш анимация без таг embed за валиден XHTML”

  1. SWFObject е нещо толкова велико, колкото и просто. Преди няколко дена продадох една банер позиция и клиентът ми изпраща банер, който да поставя. Шок! - банерът е на Flash. След 8 години уеб програмиране никога не ми се беше налагало да се занимавам и да вмъквам отричания от мен Flash.

    Знаех за SWFObject и си реших проблема за 5 минути. Задаваш дестинация, размери и цвят, и си готов 🙂

  2. Големи благодарности!!!
    Реших си проблема, най-после с валидността на кодовете, когато добавям флаш анимации в сайтовете.

  3. Показания пример работи безотказно в няколко мои сайта. Съобщението, което виждаш се показва, защото флаш файла е по-нова версия спрямо инсталирания флаш плеър в твоя браузър. Съвет: винаги ползвай възможно най-ниската флаш версия, когато правиш флаш банер. В противен случай всеки, който не е обновил флаш плеъра си ще вижда такова досадно съобщение.

  4. И на мен ми се наложи да поставя flash банер и реших да изпробвам написаното тук, но се появява текста, че трябва да се ъпгрейдва флаш плейъра. Изтеглих последната версия и отново пробвах - същото. Изпробвах варианта и който е на code.google. com/p/swfobject/, отново само алтернативния текст се появи.
    Само тук намерих подробно обяснение на български за използването на SWFObject, ако имате подозрение (или направо познание) къде може да е проблема, бихте ли помогнали с идея?

споделиха
phone linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram