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 - остальные будут безжалостно удаляться

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

Valid XHTML 1.0 Strict