Svaki put kada treba da dodam neku flash animaciju ja uvek upitam gugl kako se to radi. Kako sam skoro saznao veoma efektivan način da ti uradim, mislim da je vreme da to pribeležim i imam za sva vremena.

edit: Napomenuo bih da ovaj metod neće pravilno prikazati stranicu ako joj se pristupa sa moblinog telefona. Ja sam probao pomoću default browsera na Nokia telefonu i to nije htelo da radi.

Kao što je poznato, ne bi bilo problema sa embedovanjem fajlova da ne postoji Internet Explorer za koji je potrebno pisati posebne tagove koji prikazuju ugrađeni objekat. Do sada sam uvek ugrađivao flash animacije tako što sam unutar object taga dodavao embed dag, kako bi i explorer i mozilla mogli da ga pročitaju. Međutim, kada sam to pokušao da uradim, eksplorer nije prikazao ugrađenu animaciju. Nisam želeo da razmišljam zbog čega to više ne funkcioniše, već sam samo potražio rešenje problema.
Vršljajući po netu naišao sam na zanimljivo rešenje na ovoj stranici. Ovo rešenje se zasniva na korišćenju uslovnih komentara (Conditional Comments) koji omogućavaju da se neki kod izvrši samo ukoliko je (ili nije) stranica otvorena pomoću Internet Explorera. Takođe je moguće odrediti tačno koja se verzija explorera koristi i mnogo druge slične stvari, ali to nije tema ovog posta..
Kako bih skratio priču (koju možete pročitati na linku koji sam ostavio), evo primera koda.

< !--[if IE]>
< type="application/x-shockwave-flash" data="menu.swf" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="135" height="517">
< name="wmode" value="opaque">
< name="movie" value="menu.swf">
< /object>
< ![endif]-->
< ![if !IE]>
< src="menu.swf" width="135" height="517" bgcolor="dfdfdf">
< ![endif]>

Iz koda se vidi da će se, ukoliko se koristi Explorer, izvršiti object tag (koji prepoznaje explorer). Sa druge strane, ako to nije slučaj, izvršiće se embed tag (koji prepoznaje firefox).
Napominjem da je potrebno izbrisati razmake sa početka svakog taga, jer sam ih morao dodati kako mi blogger ne bi prijavio grešku kada kliknem na publish.

Leave a Reply

Your email address will not be published. Required fields are marked *