Design tips

Kontraster

Skab overblik for brugeren ved at bruge størrelseskontrast

Formkontrast

Aktiver Flash automatisk og fjern den grimme ramme omkring SWF film

Automatisk aktivering af flash? Løsningen på problemet er ganske enkel. Du får et simpelt JavaScript til med documetnt.write() at skrive de XHTML tags, som afspilningen af Flash filmen behøver. Dette JavaScript SKAL placeres externt. Og derefter hentes in i headeren på XHTML'en og funktionen kaldes nede i body'en. Og voila rammen er væk og flashobjektet er aktivt og klart til brug.

Det kan lyde som en større process, men er egentlig ganske let. Jeg vil forsøge at forklare det meget udførligt, så også folk uden kendskab til JavaScript programmering kan bruge denne løsning.

Her er først et eksempel på hvordan dine tags i html dokumentet typisk ville se ud. (nedenstående validerer forøvrigt I XHTML 1.1, hvilket også kan være problematisk)

<object type="application/x-shockwave-flash" data="flash/minflashfilm.swf" 
  width="200px"  height="180px" id="flashfilm">
<param name="movie" value="flash/minflashfilm.swf" />
<param name="wmode" value="transparent" />
</object>

Løsningen går i al sin enkelthed ud på at du nu vil få JavaScript til at skrive de ovenstående tags. Det gør du ved at copy-paste ovenstående ind i følgende script:

function skriv_flash_tags(){    //funktionen oprettes. ændr ikke noget her
document.write(' dine html tags her \n');//indsæt tags her. En linie af gangen
document.write(' dine html tags her \n');//indsæt tags her. En linie af gangen
document.write(' dine html tags her \n');//indsæt tags her. En linie af gangen
document.write(' dine html tags her \n');//indsæt tags her. En linie af gangen
} // funktionen afsluttes her

Hvis du har flere eller færre linier i dit XHTML tilføjer eller fjerne du bare document.write linier efter behov. I mit eksempel giver det følgende script:

function skriv_flash_tags(){
document.write('<object type="application/x-shockwave-flash" data="flash/minflashfilm.swf" width="200px" height="180px" id="blaster">\n');
document.write('<param name="movie" value="flash/minflashfilm.swf" />\n');
document.write('<param name="wmode" value="transparent" />\n');
document.write('</object>\n');
}

Gem så scriptet under navnet flash_aktivator.js. I headeren på dit XHTML dokument henter du nu dit gemte JavaScript med følgende:

<script type="text/javascript"  src="minjvavscriptmappe/flash_aktivator.js" 
  mce_src="minjvavscriptmappe/flash_aktivator.js" ></script>

Og endelig skriver du følgende i nede i body'en for at kalde/starte funktionen:

<script type="text/javascript">skriv_flash_tags();</script>

Og så skulle din flash fil gerne blive aktiveret automatisk. Du kan se et eksempel her på det færdige resultat her:
Remix
Ghettoblasteren i det nedre højre hjørne er lavet i Flash og den automatiske aktivering er på plads.

Historien om Aktivering af Flash

For godt og vel et års tid siden opdaterede Microsoft deres Internet Explorer, så aktivt indhold skulle aktiveres, inden man kunne bruge det. Det betyder, at man nu skal klikke på på en flash film inden den bliver aktiv.

Det giver flere problemer. For det første er det grimt, når der på ens hjemmeside dukker en tilfældig ramme op omkring ens SWF-fil. Endvidere oplever man, at når man klikker på SWF filen, så sker der ingenting. Mindre erfarne brugere, der ikke umiddelbart genkender elementet som et flash objekt forledes til at tror, at objektet ikke er klikbart.

Debugging

Hvis det ikke virker i første forsøg betyder det at du har lavet en fejl. Læs beskrivelsen omhyggeligt igennem igen. Har du fulgt alle anvisnigerne og placeret tingene de rigtige steder?

Vær derefter opmærksom på at være vanvittig præcis med navne, tegn etc. Selv meget små fejl, vil (som altid når det gælder programmering) medføre, at det ikke virker.

Hvis den stadig ikke er der, så gennemgå det hele tre gange til, og send så en mail til mig, så kigger vi på det.