2007-10-12

Семь бед — один embed

программирование, вебдизайн, JavaScript
Сегодня встала задача сделать страничку с ютубовскими мувиками валидной в XHTML Transitional. Сама по себе задачка решена давно,  можно использовать для этих целей SWFObject, но он зараза никак wmode не позволяет менять, или я просто не умею это делать. Кроме того синтаксис его использования какой-то громоздкий и некрасивый. Решил своими силами сделать аналог посимпатичнее.
Конечно за безбаговость не ручаюсь но потестировал на IE6, IE7, в Опере, FF и Sаfari.
Самое интересное что код с тегом Object нигде не понадобился. Я то думал что он нужен для эксплорера, оказывается что шестой эксплорер тег Object кушать наотрез отказался, а вот EMBED скушал за милую душу.

Вот что получтилось:
flasher.js

function flasher(){
 this.attr = {'wmode':'transparent','type':'application/x-shockwave-flash'};
 var i;
 for(i=0;i<arguments.length;i=i+2){
     this.attr[arguments[i]] = arguments[i+1];
 }
}

flasher.prototype.write = function(element){
    var el = document.getElementById(element);
    var args = '';
    for(key in this.attr){
      args = args + ' ' + key+'='+this.attr[key];
    }   
    el.innerHTML = '<embed '+args+'></embed>';
}


как это использовать:
<div style="width:425px;margin:10px auto;" id="darren_dicke"><!--Darren Dicke--></div>
<script type="text/javascript">
// <![CDATA[         
    var fo = new flasher("src", "http://www.youtube.com/v/g3Y_mQA0E0A", "width","425", "height","350" );
    fo.write("darren_dicke");
// ]]>
</script>
к недостаткам можно отнести отсутствие автообновления плагина, займусь этим как нибудь на досуге потом.
 

комментарии:

 
RSS комментариев

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться

разное (187)
howto (124)
программирование (108)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (28)
гондураша (28)
юмор (25)
полезное (21)
Android (17)
движок (17)
софт (15)
деньги (14)
кино (14)
видео (13)
музыка (10)
интернет (10)
путешествия (10)
беспредел (10)
diy (9)
книги (9)
занимательная физика (8)
ztools (8)
умный дом (8)
языки (7)
хостинг (7)
Nokia 5800 (7)
css (6)
вебдизайн (6)
lifehack (6)
связной (5)
apple (5)
oDesk (5)
arduino (5)
козлы (5)
прелоадер (5)
svn (4)
движек (4)
кухня (4)
Python (4)
аниме (4)
занимательная юриспруденция (4)
рестораны (3)
software (3)
энергия (3)
synphony (3)
webmastering (2)
Java (2)
Берлин (2)
Ruby on Rails (2)
фото на документы (2)
гитара (2)
bash (2)
спорт (2)
восстановить (1)
дурдом (1)
авторское право (1)
SEO (1)
сайты (1)
наука (1)
годнурас (1)
C++ (1)
технологии (1)
programming (1)
микросервисы (1)
Поиск по блогу:

Valid XHTML 1.0 Strict