Na navigaci | Klávesové zkratky

Jak správně vložit Flash do stránky

Ač je Flash nejrozšířenějším aktivním prvkem webových stránek, mnoho webdesignérů neví, jak jej správně do stránky vložit. Výchozí způsob, které propaguje Macromedia, je totiž naprosto nepoužitelný.

Připomeňme si jej:

<object
  classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
  width="550" height="400">
  ...
  <param name="movie" value="movie.swf" />
  <param name="quality" value="high" />
  ...
  <embed src="movie.swf" quality="high" bgcolor="#ffffff" width="550" height="400"
	type="application/x-shockwave-flash"
	pluginspage="http://www.macromedia.com/go/getflashplayer">
  </embed>
</object>

Atributy elementu <object> jsou podřízeny potřebám Internet Exploreru a v jiných prohlížečích Flash nezobrazí. Což zachraňuje element <embed>, který však není součástí HTML ani XHTML. Kód je tedy nevalidní, plný proprietárních obezliček.

V čem vidím největší problém, tak že nelze vytvořit alternativní obsah, jenž bude zobrazen uživatelům, kteří Flash nemají (cca 10 %).

Hledáme řešení

Jaké jsou požadavky?

  • musí fungovat ve všech významných prohlížečích
  • při chybějícím Flash pluginu musí zobrazit alternativní obsah
  • nesmí být závislé na JavaScriptu
  • a musí být kompatibilní s Eolas workaround trikem

Bezpochyby musíme odstranit element <embed>. Situace se nám tak zjednodušší a získáme jednoznačný prostor, kam lze vložit alternativní obsah. Zápis teď vypadá takto (příklad):

<object
  classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  codebase="http://fpdownload.macromedia.com..."
  width="550" height="400">

  <param name="movie" value="movie.swf" />
  <param name="loop" value="false" />
  ...
  <p>Toto je alternativní obsah</p>

</object>

Tento kód funguje v IE i Opeře a po odinstalování Flashe se korektně zobrazuje alternativní verze.

Zápis však stále používá atributy elementu <object> v rozporu se specifikací a to se nám vymstí v Mozille, která Flash nezobrazí (alternativu ano). Uveďme je tedy do souladu.

Atributy classid a codebase odstraníme a naopak přidáme type se správným MIME typem a data obsahující cestu k Flash souboru. Parametr movie se tak stává zbytečným. Zápis nyní vypadá takto (příklad):

<object
  type="application/x-shockwave-flash"
  data="movie.swf"
  width="550" height="400">

  <param name="loop" value="false" />
  <param name="movie" value="movie.swf" />
  ...
  <p>Toto je alternativní obsah</p>
</object>

Toto už v Mozille funguje a v Opeře také. V Internet Exploreru ovšem ne. Pokud bychom vrátili zpět zmíněný parametr movie, IE by Flash zobrazil (příklad), jenže s nepříjemným omezením – nefunguje postupné načítání. Flash se zkrátka zobrazí teprve po stažení celého souboru.

Tytéž úvahy absolvoval již v roce 2002 Drew McLellan a přišel s metodou zvanou Flash Satay, která problém s postupným načítáním řeší skrze pomocný Flash. Kvůli tomu má vážné problémy s přístupností (což mě až tak netrápí, od toho je tu alternativní obsah) a také se nesnese s Eolas workaround trikem. A to už je vážná vada na kráse.

Jak oba zápisy skloubit?

Máme dva zápisy, lišící se vlastně v detailu. Vyzkoušel jsem celou řadu způsobů, jak je spojit. U všech jsem narazil na větší či menší obtíže. Jednou nezobrazuje Mozilla alternativní verzi, jindy má problémy IE atd.

Jako nejschůdnější se ukázalo oba zápisy prostě nekombinovat. Vložit je do HTML kódu současně a odlišit pomocí podmíněných komentářů.

Kód určený pro IE obalíme takto:

<!--[if IE]>
HTML kód pouze pro IE
<![endif]-->

Ale jak označit kód určený ostatním prohlížečům? K tomu účelu existuje negovaný podmíněný komentář, který je bohužel nevalidní. Pomůžeme si však trikem (vysvětlení) a upravíme jej do této validní podoby:

<!--[if !IE]> -->
HTML kód pro všechny mimo IE
<!-- <![endif]-->

Finální řešení

Hotový kód tedy bude následující (příklad + validátor):

<!--[if !IE]> -->
<object type="application/x-shockwave-flash"
  data="movie.swf" width="300" height="135">
<!-- <![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="300" height="135">
  <param name="movie" value="movie.swf" />
<!--><!--dgx-->
  <param name="loop" value="true" />
  <param name="menu" value="false" />

  <p>This is <b>alternative</b> content.</p>
</object>
<!-- <![endif]-->

Možná to není oslnivě elegantní řešení, ale je to jediné skutečně funkční řešení, co jsem objevil.

  • je validní
  • ve všech mně známých prohlížečích funkční
  • při chybějícím pluginu vždy zobrazuje alternativní obsah
  • lze kombinovat z trikem EOLAS workaround
  • nevyžaduje JavaScript

poznámka: kvůli Opeře nepoužívejte <param name="wmode" value="transparent" /> či opaque

Mohlo by vás zajímat

Komentáře

  1. Kašpy #1

    avatar
    Není to možná oslnivě elegantní řešení, ale je to jediné skutečně funkční, co jsem objevil.

    Naopak, podle mě jsi to vyřešil šalamounským způsobem.

    Někdy to otestuju. Díky za kód

    před 19 lety | reagoval [8] Roman
  2. Jay Bee #2

    avatar

    Ja již delší dobu používám konstrukci, která je validní a nepotřebuje podmíněné komentáře

    <object
      type="application/x-shockwave-flash
      data="movie.swf"
      width="550" height="400">
    
      <param name="loop" value="false" />
      <param name="movie" value="movie.swf" />
    
      <p>Toto je alternativní obsah</p>
    </object>
    před 19 lety | reagoval [7] David Grudl [9] Kalda
  3. Hanz #3

    avatar

    No nechcu se hádat, ale:

    1. IE (6) stále potřebuje aktivaci ActiveX
    2. Firefox (1.5.0.1) → Pro zobrazení veškerého obsahu na stránce jsou vyžadovány dodatečné zásuvné moduly. + alternativní obsah
    3. Opera (8.54) → Jen alternativní obsah

    Pokuď odstraníš embed nebude fungovat jak komunikace s javascriptem a také pruhlednost a zpousta dalších věcí.

    To zbytečné codebase je tam, kvůli tomu, aby prohlížeč zjistil, že má starší verzi FlashPlayeru a začal aktualizaci.

    No je toho ještě víc, ale to je na dlouho.

    PS: Kde mohli udělat soudruzi z NDR chybu :o)

    před 19 lety | reagoval [4] David Grudl
  4. David Grudl #4

    avatar

    #3 Hanz, tento postup nemá nic společného s obcházením aktivace, to popisuji jinde.

    Uvedený způsob vkládání Flashe používám třeba tady (test validity) – vidíš nějaký problém?

    před 19 lety | reagoval [5] Hanz
  5. Hanz #5

    avatar

    #4 David Grudl, Na tom tvém příkladu je to OK, ale mojem příkladu to OK není
    Je možné, že tam mám chybu, ale tam to OK nejede. Schválně vyzkoušej.

    před 19 lety
  6. rADo #6

    avatar
    před 19 lety | reagoval [7] David Grudl
  7. David Grudl #7

    avatar

    #2 Jay Bee, a #6 rADo

    před 19 lety
  8. Roman #8

    avatar

    #1 Kašpy, Veru tak pridavam sa. Salamunske! 😉 DGX, toto by sa asi patrilo zverejnit aj v anglictine 😉

    před 19 lety | reagoval [10] David Grudl
  9. Kalda #9

    #2 Jay Bee, Jen bych doplnil, že u „archivních“ prohlížečů toto řešení nemusí fungovat, viz. https://teppo.tv/…idflash.html

    před 19 lety | reagoval [10] David Grudl
  10. David Grudl #10

    avatar

    #8 Roman, na překlad si netroufám. Jestli budeš mít chuť ho udělat, budu rád, ale mohu nabídnout asi jen uvedení jména s odkazem a z toho plynoucí věčnou slávu ;)

    #9 Kalda, to je jasné. Historické prohlížeče neumí spoustu další věcí.

    před 19 lety | reagoval [11] Roman
  11. Roman #11

    avatar

    #10 David Grudl, No momentalne som neschopny to dotiahnut do uspesneho konca, kedze mam v sebe nejake to Cinzano extra dry.. ale prve tri odstavce som uz prelozil. Ked sa nenajde niekto ochotnejsi (a hlavne rychlejsi) tak ti to cez vikend poslem. Necakaj oxford.. ale rozumiet sa bude dat ;) Zatial sa hadam rozviri diskusia a ludia to preveria od hlavy az po paty. Trebars taky Pixy by to mohol preverit ci je to aj Macoidne pritulne.

    před 19 lety
  12. P_V #12

    Pro úplnost připomenu jak Macromedia oficiálně doporučuje vložit flash (od stejného autora jako odkaz v předchozím blognutí). Poněkud se to liší od tvrzení v úvodu: https://web.archive.org/…h_satay.html

    před 19 lety | reagoval [13] David Grudl
  13. David Grudl #13

    avatar

    #12 P_V, To není oficiální postup, jde jen o článek „přetištěný“ na webu Macromedia.com. Za oficiální způsob považuji ten, který generuje program Macromedia Flash a který se tím pádem používá na 99 % webů.

    Jinak článek jsem ještě malinko rozšířil o vysvětlení, proč Flash Satay vlastně nepoužívám a hlavně – našel jsem ještě jednodušší řešení.

    před 19 lety
  14. Martin #14

    Tak nevím dgx.. Podle mě je tvoje metoda blbá. V předchozím spotu jsi publikoval převzatý javascript, který má jednoduše řešit nový problém IE. Tedy – ty na nikoho neodkazuješ, takže to vypadá, že jsi ho vymyslel. Proti hovoří to, že po eolas aféře jsem ho viděl mnohokrát jinde ve stále zlepšující se podobě (je vidět vývoj), u tebe až DLOUHO poté a rovnou v té finální „optimalizované“ podobě. Možná jsi už geniální jako nejmenovaný, že z tebe rovnou padají hotové skripty bez nutnosti zlepšování, ale moc tomu nevěřím, spíš to vypadá na nepřiznanou „inspiraci“.

    Ale k věci. V posledním spotu jsi narazil na to, že s tímto skriptem nechodí „flash satay“ metoda. Místo aby ses pídil po příčině, tak jsi vymyslel nový způsob vkládání flashů. Tím jsi ale úplně potlačil původní výhodu úpravy skriptem – neboli „šoupnem na začátek skript a nemusíme se hrabat ve stránce“. Takže to tvoje dnešní „jediné funkční řešení“ znamená, že designéři stejně budou muset ručně přepsat každý výskyt flashe. Tím je ale ten „tvůj“ posledně uvedený skript negován, proč by rovnou (když už hrabe v kódu), milý designer nenasázel do IE verze document.write??? Proč to komplikovat nějakým divným přepisem, který se spouští až po vytvoření DOM?

    Je vidět, že když se bez přemýšlení člověk hrne s geniální zprávou na svůj blog příliš rychle, je sice (v ČR) první, ale plká blbosti.

    Kdybys radši vypátral příčinu, proč flash satay metoda s přepisovacím skriptem nefunguje a místo blbé změny vkládání flashe tuto příčinu odstranil, dostali bychom se tam, kde jsme chtěli včera být. K pohodlnému vložení jednoho nového js na začátek stránky a zapomenutí, že nějaký MS vs. Eolas spor vůbec existuje.

    No, třeba na to časem přijdeš sám. Anebo to zase opráskneš z jiného zdroje :)

    před 19 lety | reagoval [15] David Grudl [18] roman
  15. David Grudl #15

    avatar

    #14 Martin, Převzatý JavaScript? Prosím odkud, můžeš uvést nějaké linky? Upřímně, ten vývoj by mě zajímal, když na jeho konci je dvouřádkový skript – na počátku bylo jedno písmeno? 🙂

    Víš Martine, když strávím čas nad nějakým úkolem a mám za to, že výsledek by mohl být užitečný pro ostatní, tak se to snažím co nejdřív a zcela nezištně publikovat. Ty naopak naznačuješ, že máš důležité informace, ale tajíš je a děláš se tak zajímavým. To je trapné.

    Na jedné straně ti vadí, že hledám nové cesty, na druhé straně mě nařkneš z kopírování. Bože, někdy objevím kolo, to se holt stává. Ale stává se to jen těm, co objevují, víš?

    Pověz mi, odkud jsem opráskul tento způsob vkládání Flashe? A odkud jsem zkopíroval předchozích X zdrojáků či postupů zveřejněných zde na blogu? Buď uveď 20 odkazů a znemožni mě, nebo vypadni a už se tu neukazuj.

    před 19 lety | reagoval [17] roman [23] johno
  16. Marián Hello #16

    Niekomu sa môže hodiť aj:
    https://web.archive.org/…-or-die.html
    Ak používate flash remoting je to doslova nutnosť.

    před 19 lety | reagoval [21] David Grudl
  17. roman #17

    avatar

    #15 David Grudl, Martin (alebo nejaky anonym co sa podpisal Martin) je zjavne ignorant ktoremu nedoslo ze riesenie je toto https://web.archive.org/…:80/library/?… – a nie tento kratky riadok ktory si napisal, ze ako sa tam vklada.

    <script src="i_love_software_patents.js">
    </script>

    Martin je proste hlupak a ignorant ktory ani nechape ako to tvoje riesenie funguje a zjavne sa to ani nesnazi pochopit. On si radsej skopiruje Flash Satai a bude dalej zit spokojny vo svojej nevedomosti. 😉

    před 19 lety
  18. roman #18

    avatar

    #14 Martin, Ty vobec vies o com pises? Lebo to tak nevyzera, ale za to je to sakramentsky dlhe.

    před 19 lety
  19. Martin #19

    LOL :) Radši „vypadávám a už se neukazuji“ a vás, ó geniální, vás tu zanechávám

    před 19 lety | reagoval [20] roman
  20. roman #20

    avatar

    #19 Martin, Dik za kompliment aj ked od teba to ma taku zvlastnu prichut.

    signed
    DGX's personalised sidekick

    před 19 lety
  21. David Grudl #21

    avatar

    #16 Marián Hello, To je zajímavé. Abych byl přesný, pro IE stále rozlišování verzí funguje – nefunguje pro ostatní prohlížeče. Jen si nejsem jist, jestli na type="application/x-shockwave-flash6" je spoleh – pokud ano, tuto informaci rád do článku rád doplním.

    před 19 lety
  22. Marián Hello #22

    Pokiaľ si dobre pamätám, tak v roku 2004 to bolo spoľahlivé riešenie. Fungovalo to vo všetkých známych prehliadačoch IE6, Firefox, Opera … (spolu s flash player v6 – odtiaľ tá šetka pri application/x-shockwave-flash6
    Ale s poslednou verziou flash player 8 to nejako nefunguje min v IE (ale zišiel by sa test).
    Praktické využitie toho celého bolo pri použití PHP flash remotingu, ktorý fungoval iba s verziou 6 (ale to je nadlhšie).

    před 19 lety | reagoval [25] salko
  23. johno #23

    avatar

    #15 David Grudl, Asi myslel toto:http://julian.farm/geekswithblogs/?…

    Inak neverím tomu, že si to okopíroval.

    před 19 lety | reagoval [24] David Grudl
  24. David Grudl #24

    avatar

    #23 johno, Mě ani nenapadlo, že bych byl ten jediný vyvolený, kdo na tento postup přišel, ani jsem to nenaznačil. Mrkni na Microsoftí návod, u toho příkladu s outerHTML to člověka prostě musí trknout.

    Nějaké odkazy jsem si po nařčení z plagiátorství taky vygůglil (těžko se to gůglí když neznáš klíčová slova). Myšlenka je stejná, provedení mizerné. Ale co jako, mám se stydět, že jsem nebyl první? To by Honza Bien za podobné články musel chodit kanálama…

    před 19 lety | reagoval [26] johno
  25. salko #25

    avatar

    #22 Marián Hello, Praktické využitie toho celého bolo pri použití PHP flash remotingu, ktorý fungoval iba s verziou 6 (ale to je nadlhšie).

    Chcem sa opytat, FlashRemoting uz nefunguje pri Flash-y 7 a vyssie? Ja viem, ze je tu uz davno Flash 8, ale ja stale robim pre FP6, takze je to iba cisto zvedava otazka.

    před 19 lety | reagoval [27] Marian Hello
  26. johno #26

    avatar

    #24 David Grudl, Mne je to jasné. Som na tvojej strane.

    před 19 lety
  27. Marian Hello #27

    #25 salko,
    Mal som tam napísať 6 a vyššie. My fault!

    před 19 lety
  28. MiKee #28

    avatar

    Omlouvám se, pokud můj následující dotaz bude mimo mísu, možná se v tom jen špatně orientuju. Ale nemůže to v kombinaci s EOLAS workaround trikem způsobovat IEčku problémy? Konkrétně mě to na tomto webu většinou ve stavovém řádku IE vypisuje, že mu zbývá načíst ještě 2 nebo 3 položky. A přitom to vypadá a chová se, že všechno je načteno. Tak nevím. Poradíte, prosím? Asi jsem fakt lama.

    před 19 lety
  29. Uno #29

    avatar

    Caos lidi,

    mam další řešení vkládání flashle do stránky…
    pokud k tomu někdo budete mít nějaký připomínky nebo nápady, promín napište…
    Když jsem použil řešení podle návodu z téhle stránky s kombinací javascriptu na ochcání aktivece u IE, narazil jsem na několik problémů.
    IE ignoroval mnou vložené parametry jako quality atd… důvod: funkce outerHTML překládá kod a vkládá si svoje vlastní parametry (nebo aspoň to tak na mě působylo), vytvořil jsem vlastní script

    var objects = document.getElementsByTagName`("object");
    
    for (i=0;i<objects.length;i++){ objekty
       source = objects[i].attributes&#91;90&#93;.value
       width = objects[i].attributes&#91;89&#93;.value
       height = objects[i].attributes&#91;82&#93;.value
    
    var out = '<object type="application/x-shockwave-flash" data="'+source+'" width="'+width+'" height="'+height+'">\n';
    
       for (g=0;g<objects[i].childNodes.length;g++) {
         var out = out+objects[i].childNode[g].outerHTML+"\n";
    
       }
       var out = out+"</object>"
       objects[i].outerHTML = out;
    }

    Další věc je, že jsem se chtěl aspoň částečně zbavit podmíněných komentářů, z toho důvodu jsem požil způsob zápisu z komentáře od Jay Bee, i když má bohužel tu nevýhodu, že nekontroluje verzi pluginu.

    Zápis je validní, funkční na všech prohlížečích…

    před 19 lety
  30. otaznik #30

    diky, moc mi to pomohlo.

    před 19 lety
  31. otaznik #31

    ee? co dela moje ip u meho jmena? nebylo by lepsi nechachat viditelnou jen cast ip, nebo dokonce si ji nechavat jen pro pouziti autora, kdyz uz tak moc xce logovat kdo co psal (kdybych tu chtel spamovat, nebo jinak zlobit, udelam to pres nejakou anonymni proxy, ne?) ??

    před 19 lety
  32. PaulBULVA #32

    avatar

    a mužu se pls zeptat, jak vložit přes object pouhý obrázek??? … nemůžu na to přijít – asi píšu špatně type! .. dííky

    před 19 lety
  33. einhorn #33

    avatar

    pokud nosim drivi do lesa, omlouvam se, jinak toto je take hezke reseni https://web.archive.org/….com:80/ufo/

    před 19 lety
  34. Misuge #34

    avatar

    tady něco žvatlaj ale fakt jim neni rozumět, asi jsem se měl učit anglicky.
    Kdy proboha začne M$ dělat něco tak jak ostatní.
    To bude do nekonečna vymejšlet krávoviny, vylepšovat a vylepšovat až se populace nase** a zkutečně začne používat software od ostatních dodavatelů a jim zbude akorát prodávat věčně padající OS?
    Proboha co maj dělat lidi co maj ve flashi zmáknutý menu?
    Nedej bože když ho maj třeba na každým saitu vložený staticky?
    Je to fakt stupidní výmysl.
    Doufám že to neni zmatená poznámka. Se** na to jdu spát.

    před 19 lety
  35. Scrool #35

    Mal by som jednu pripomienku. Ja som sa s tým nestretol, ale vraj je problém s týmto kódom pod ASP od MS. Chybu i jeden spôsob riešenia je možné nájsť tu: https://juicystudio.com/…paranoia.php Pri zbežnom pohľade to vyzerá, že alternatívny obsah sa tam ale potom musí dávať dva krát.

    před 18 lety
  36. Honza #36

    Tolik mektání kvůli validitě…

    před 18 lety
  37. Jirka Hon #37

    avatar

    Hmm zkoušeli jste už novou Operu 9.0? V ní tohleto nefunguje, což mě dost štve.. Nevíte někdo, jak to upravit, aby to běhalo i v Opeře 9.0?

    před 18 lety | reagoval [42] David Grudl
  38. kandy #38

    toto riesenie neodporucam, ak mate vo flashi zvuk, ktory vam ma hrat na pozadi. flash sa totiz aktivuje az ked je na stranke skutocne vidiet. ked sa pouzijete embed je to ok.

    před 18 lety
  39. turambar #39

    avatar

    Čusss, moc díkes začínám dělat ve flashi a html kod moc neumím, už jsem byl uplně v p… z toho jak to hodit na web-site.

    Ještě jednou díkes. BYe

    před 18 lety
  40. Martin Smýkal #40

    Díky autorovi!!!
    Tejden jsem dumal nad tím, proč mi můj flash v IE neběhá…díky článku vyřešeno.
    Díky moc

    před 18 lety
  41. Školník #41

    Díky za užitečný návod, ale nefunguje v Opeře 9 int. (build 8502) a IE7. Nebo je to jenom u mě?

    před 18 lety | reagoval [42] David Grudl
  42. David Grudl #42

    avatar

    #37 Jirka Hon, #41 Školník Zkoušel jsem v Opeře 9 (build 8501), v Opeře 9.01 (build 8552), v IE 7 RC a nikde žádný problém. Tak nevím…

    před 18 lety
  43. kecinzer #43

    Velice děkuji za užitečný návod, jak vkládat Flash. Moc mi pomohl.
    Také jsem se chtěl zeptat, jestli už je také trik, jak obejít klikání na flashový objekt v Opeře, která to již déle také vyžaduje, naštěstí kolem sebe nemá onen rámeček jako IE :).

    před 18 lety
  44. Tomas #44

    avatar

    Nefunguje v kombinaci s javascriptem pro aktivaci flashe v IE na HTTPS stránkách.

    před 18 lety
  45. mag #45

    Tak panove, pokud nevite tak EOLAS aktivaci flashe uz musite provadet i v nove opere a firefox s tim zanedlouho taky prijde.
    Nebylo by lepsi cely tag <object></object> vcetne embeded vlozit do tagu <div id="flash_neco" name="flash_neco"><object></object></div> a pak javascriptem projit vsechny objekty div, hledat ty co zacinaji „flash_“ a zmenit jejich innerHTML znovu na jejich innerHTML.

    před 18 lety
  46. morpheus #46

    avatar

    Diky todle mi fakt dost pomohlo.

    Akorat kdyz se mi takovahle stranka nacita v IE, tak si pravdepodobne mysli, ze tu flashovou animaci nenacetl a porad se o to snazi. Nejsem zadnej odbornik, soudim tak podle toho, ze ve status baru je (zbiva 1 polozka) a on ne a ne dokoncit nacitani. Da se toho nejak zbavit? Dik za odpoved, pokud mozno na mail..

    před 18 lety | reagoval [47] MoPS
  47. MoPS #47

    avatar

    #46 morpheus, Pokud byste přišli na způsob jak se zbavit výše popsaného nekonečného načítání, pošlete mi to prosím také na mail. Díky

    před 18 lety
  48. moom #48

    avatar

    Děkuji z článek. Přečetl jsem celou diskuzi.
    Možná jsem trdlo, ale nějak jsem nepochopil
    jestli navrhované řešení nakonec po všech těch
    připomínkách dobré.

    Změnilo se něco od zveřejnění článku, nebo jsou
    případné změny v článku aktualizovány?

    A ještě jedna otázka. Ve Flashi CS3 se vkládá i
    při exportu do html i textový obsah flashe, asi
    pro vyhledávací roboty. Nemáte prosím s tímto
    nějaké zkušenosti.

    Děkuji Martin O.

    před 17 lety
  49. aa #49

    avatar

    Díky chlape, moc jsi me pomohl…

    před 17 lety
  50. Fildo #50

    avatar

    Dakujem si mi pomohol /ste mi pomohli
    :D pozrite aj moju stranku apridajte do shoutboardu v sekcii Pre vas

    před 17 lety
  51. FXG #51

    Ahoj, moc jsem to tady všechno nečetl, ale napadlo mě jedno řešení spíše pro začátečníky, kteří se v tom webu nechtějí moc hrabat a chtějí mít validní stránky i když si do ní vloží video z YouTube nebo Stream a jim podobná.

    Celý kód toho videa stačí předělat do JavaScriptu a uložit třeba jako test.js př:
    `<!--
    document.write (
    <object height="274" width="370"><param name="movie" value="#stary-odkaz-#stary-odkaz-http://www.stream.cz/object/25268-havirov-city-ohnostroj-2007-2008"><param name="allowfullscreen" value="true"><param name="wmode" value="transparent"><embed src="#stary-odkaz-#stary-odkaz-http://www.stream.cz/object/25268-havirov-city-ohnostroj-2007-2008" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" height="274" width="370"></object>
    );
    //-->`

    A tento JavaScript pak externě načíst na libovolné místo na stránce například:
    <script language="JavaScript" src="test.js" type="text/javascript"></script>

    Řešení jsem odzkoušel a je validní díky tomu, že chybné elementy embed nejsou přímo v obsahu HTML. Funguje pod IE7,FF2,N9. Na dalších jsem nezkoušel.

    před 17 lety | reagoval [52] FXG
  52. FXG #52

    #51 FXG, Ještě poznámka, nezkoumal jsem Texy! tak to nevypadá, jak bych chtěl, ale uvnitř zápisu JavaScriptu používejte jednoduché uvozovky a ne dvojté!

    před 17 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.