Hvordan embedde et flashbanner på en nettside?

Les også:
Hva er clickTAG?
Hvordan legge til clickTAG i et flashbanner?
Klikkbar flash uten clickTAG med clicklayer

Når man plasserer et bilde på en nettside er det ganske enkelt:

<img src="bilde.jpg" />

Man skulle kanskje tro at man kunne gjøre det samme med et flashbanner:

<img src="flash.swf" />

Og selv om det er feil vil det i enkelte tilfeller dessverre kunne fungere.

Plassering = Embedding

Plassering av et flashbanner i HTML kalles ofte for «embedding». Slike embed-koder gir mange muligheter, og det er neppe mange som går rundt og husker på en slik komplett kode.

Nedenfor er det enkleste eksempelet for embedding:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash/cabs/swflash.cab#version=6,0,0,0" width="180" height="150" >
	<param name="movie" value="http://hardcode.no/img/banner_180x150.swf">
	<embed src="http://hardcode.no/img/banner_180x150.swf" width="180" height="150" type="application/x-shockwave-flash"
	pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
</object>

Som du kan se oppgis dataene stort sett to ganger i scriptet overfor.
Grunnen til dette er at Internet Explorer bruker <object> og <param>, mens andre nettlesere bruker <embed>.
Så hvis en flash vises riktig i én nettleser, men absolutt ikke gir noen mening i en annen, kan dette være årsaken.
Leker du deg med nye embedscript sørg derfor for å teste i flere nettlesere.

Noe av eksempelet overfor er selvforklarende, men her er noen punkter det er viktig å ta i betraktning:

Det er mange ting scriptet mitt overfor mangler. En av disse tingene er «id» i object-taggen og «name» i embed-taggen. Dette er blant annet nødvendig for at flere flashobjekter på samme side kan kommunisere med hverandre (for eksempel synkronisering av innholdet).
I resten av eksemplene nedenfor har jeg lagt til denne informasjonen i embeddingen.

Embedding med clickTAG

Det er to måter man kan embedde en flash med clickTAG.
I mitt eksempel vil jeg at clickTAG skal være http://no.wikipedia.org/wiki/Sirkel

Den første måte å gjøre det på er ved å angi clickTAG-variabelen i URL-en til swf-fila:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash/cabs/swflash.cab#version=6,0,0,0" width="180" height="150" >
	<param name="movie" value="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel">
	<embed src="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel" width="180" height="150" type="application/x-shockwave-flash"
	pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
</object>

Den andre måten å gjøre det på er å legge til parameteret «flashvars» i scriptet.
Legg merke til at det gjøres to steder:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash/cabs/swflash.cab#version=6,0,0,0" width="180" height="150" >
	<param name="movie" value="http://hardcode.no/img/banner_180x150.swf">
	<param name="flashvars" value="clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel">
	<embed src="http://hardcode.no/img/banner_180x150.swf" width="180" height="150" type="application/x-shockwave-flash"
	pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
	flashvars="clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel"></embed>
</object>

wmode

Parameteret «wmode» angir hvordan flashbanneret plasseres i forhold til andre elementer på nettsiden.
Man har tre mulige valg: window, opaque og transparent. window er standard verdi.

Ved bruk av window vil flashbanneret embeddes i sin egen lille firkant hvor den lever sitt eget liv. window bruker minst CPU av de tre alternativene.
Ulempen er at det ikke er mulig å vise annen HTML over flashbanneret.

opaque er gjerne det alternativet som brukes mest. Da blir flashbanneret plassert på nettsiden som et normalt HTML-element, slik at annet innhold kan plasseres foran/bak/under/over.
En ulempe er man ikke får tastet inn alfakrøll-tegnet i skjemaer i flashbanneret ved bruk av opaque (gjelder blant annet Firefox).

Hvordan transparent fungerer ligger i navnet. Deler av banneret (eller hele) kan være transparent. Nyttig hvis banneret skal ha noe annet enn en rektangulær form.
Bortsett fra dette er transparent et dårlig alternativ som bruker mye CPU.

I scriptet nedenfor har jeg brukt wmode=opaque:

<object id="uniktNavnForAkkuratDetteFlashobjektet" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="180" height="150">
	<param name="movie" value="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel">
	<param name="quality" value="high">
	<param name="wmode" value="opaque">
	<embed src="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel" name="uniktNavnForAkkuratDetteFlashobjektet" quality="high" width="180" height="150" wmode="opaque" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>

allowscriptaccess, allownetworking og allowfullscreen

La oss se på tre nye parametere:
allowscriptaccess, allownetworking og allowfullscreen

«allowscriptaccess» angir om flashobjektet skal ha tillatelse til å kommunisere med andre elementer, som for eksempel javascript på nettsiden. Gyldige verdier er always, samedomain og never.

«allowscriptaccess» angir om flashobjektet skal ha tilgang til nettverksfunksjonalitet.
Man har tre mulige valg: all, internal og none.
all og none er selvforklarende. internal nekter flashobjektet tilgang til å kommunisere med browseren, men tilgang til annet innhold på nettsiden.

«allowfullscreen» kan være enten true eller false.
Denne må være satt til true om man ønsker at flashobjektet kan åpne seg i fullskjerm, som for eksempel fullskjermmodus i en videoavspiller laget i flash.

<object id="uniktNavnForAkkuratDetteFlashobjektet" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="180" height="150">
	<param name="allowscriptaccess" value="always">
	<param name="allownetworking" value="all">
	<param name="allowfullscreen" value="true">
	<param name="movie" value="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel">
	<param name="quality" value="high">
	<param name="wmode" value="opaque">
	<embed src="http://hardcode.no/img/banner_180x150.swf?clickTAG=http%3A%2F%2Fno.wikipedia.org%2Fwiki%2FSirkel" name="uniktNavnForAkkuratDetteFlashobjektet" quality="high" width="180" height="150" wmode="opaque" allowscriptaccess="always" allownetworking="all" allowfullscreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>

Utfyllende informasjon for flere parametere for embedding finner du her:
http://kb2.adobe.com/cps/127/tn_12701.html

Hva med de som ikke har Flash Player?

Dette var veldig aktuelt tidligere, men så hadde vi en periode hvor dette gjaldt marginalt få.
Så kom iPhone og iPad som ikke støtter flash.

I terminologien for nettannonsering har vi noe som kalles for «fallback» eller «backup-gif». Dette er rett og slett et bilde som blir vist til de brukerne som ikke har Flash Player. Dette inngår ikke som en egen del i embeddingen nevnt tidligere i denne artikkelen, men som en del av et javascript.

Et slikt javascript må sjekke om brukeren har Flash Player. Har brukeren Flash Player installert viser man flashbanneret. Har man ikke Flash Player installert viser man i stedet bildet.

I den samme logikken kan det være greit å ha støtte for hvilke versjon av Flash Player man har. Inneholder kanskje flashbanneret avansert funksjonalitet som kun støttes i Flash Player 10? Da må man levere ut et bilde til de som har Flash Player 9 eller lavere.

Slike javascript kan enten utvikles og tilpasses til eget bruk, eller man bruke den ferdige løsningen SWFObject:
http://en.wikipedia.org/wiki/SWFObject

SWFObject tar seg også av store deler av embeddingen vi har gått gjennom her, så man bare trenger å forholde seg til en forenklet funksjon hvor man oppgir de aktuelle variablene.

Relatert innhold

Høysesong for kjipe annonser
Klikkbar flash uten clickTAG
Hva er clickTAG?
Legge til clickTAG

Bloggen

Paid and organic last click
Are og Ida på date
Kunstig intelligens
Vekst- prosjektet
Da Outlook stjal ikonet mitt
Sen eller tidlig påske?
Koordinater i SVG
Påstand: Corner er mål
Vestfold-Rogaland kalkulator
Twitter og VM på ski
My New Year's Resolutions
Et bilde sier mer enn tusen ord
Rogaland blir nye Vestfold
På størrelse med Vestfold
Datoformat i Excel og Google Analytics
what3words Hvilke tre ord?
Covfefe will make America great again
Om domenenavn og firmanavn
Fotballfrue: Jeg tar innpå deg
Sakte-TV: Se gresset gro
Sakte-TV: Se maling tørke
Første generasjon iPapp har kommet
Jukselapp fotografering
Det sorte hullet cookies disabled
Høysesong for kjipe annonser
Om analsex og popups
Rotasjon av vindsymboler
Hvor mye er Fotballfrue verdt?
Slik tar du et screenshot
Nyttige husketrekanter
Enklere utregning med kryssmultiplisering
Min egen lille adventskalender
Logge antall likes på Facebook
Hva er sitemap.xml?
Hva er robots.txt?
Responsivt design
Webscraping med PHP
Jeg sammenligner epler og pærer
Scalable Vector Graphics
Google Analytics API: Hente data
Google Analytics API: Muligheter
HTML5: Video
Big Data
Cookies: Hvordan det brukes
Cookies: Hva er det?
Excel i to vinduer
CRM-systemet «Kontor»
Gigantisk timelapse
Hva er jQuery?
Overvåke ReadyNAS DUO med PHP
Favicon - ikonet i adressefeltet
Animert heading på hardcode.no
CSS -sprites
Komprimere PNG-bilder
Redesign av hardcode.no
Klikkbar flash uten clickTAG
Relevans har stor verdi
Alle har wide- screen i 2013
Markedsandeler nettlesere 2010
Internet Explorer-vindu i feil størrelse
Hvor stor er en piksel?
Markedsføring og kundelojalitet
Flash-versjoner
Vestre Sylling og Øverskogen JFF
Sidevisninger, besøk og brukere
Widescreen kommer
Hvor brede bør sidene være?
Fortsatt lese hele saken?
Lese hele saken nå?
Første møte med AdWords
Bort med IE6
Utviklingen på nettleserfronten
Nyttige jukselapper
Nye Sylling.no
Klær med egen logo?
Værdata fra yr.no
Logodesign trender i 2008
Gmail grimaser
Google Analytics
Publiseringssystemet Outpost
Hardcode.no relanseres
Publiserings -systemet