Avatar billede mixhael Nybegynder
19. december 2004 - 22:54 Der er 17 kommentarer og
1 løsning

Udskrift af flash-modul med understøttelse af w3c standarter.

Jeg har efter søgning på internettet fundet frem til en kode som kan udskrive flash i de browsere jeg kender til samtidig med at denne xhtml er understøttet w3c's xhtml standarter. Koden ser ud som følger:

<object type="application/x-shockwave-flash" data="http://www.myserver.dk/myflash.swf" width="550" height="26" id="flashmenu" >
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="http://www.myserver.dk/myflash.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="menu" value="false" />
</object>

Denne kode har jeg funder via, som er en meget omfattende beslkrivelse af problematikken:

http://www.macromedia.com/devnet/mx/dreamweaver/articles/flash_satay.html

Der er dog et problem ved denne løsning: I IE browseren vises der et lille "windows-billedikon" inden flashfilen loades.. Dette sker dog ikke i andre browsere som eks. firefox og safari. Dette ødelægger designet. Dog kun i et par sekunder, men fejlen er dog så betydelig at flere af mine kunder har omtalt det..

Jeg søger derfor efter en løsning som overholder samme kriterier og som derudover også fjerner dette irritationsmoment.

Mine krav til løsningen er altså som følger:
1. Koden skal følge xhtml standarterne fra w3c
2. Flashen skal kunne vises på browsere så som: IE, Firefox, Safari, Netscape osv.
3. Der skal ikke vises nogen form for "loadeikoner” under nogle af disse browsere.

Jeg håber der er andre som har støt ind i denne problematik før og som har en formidabel løsning derpå..

Jeg takker på forhånd for jeres tid.

Med Venlig Hilsen
Michael
Avatar billede nikolajdu Nybegynder
19. december 2004 - 23:06 #1
<object type="application/x-shockwave-flash" data="minflash.swf" width="760" height="130">
    <param name="movie" value="minflash.swf" />
</object>

Så simpelt - Husk lige at rette højde og bredde også
Avatar billede olebole Juniormester
19. december 2004 - 23:09 #2
<ole>

Så er der ingen løsninger. Det er den bedste/eneste løsning, der er - men hvorfor overhovedet spilde tid på XHTML? Det er elendigt understøttet - og du skriver og server formodentlig din XHTML helt forkert, uden at vide det. Det gør langt de fleste  :)
Prøv at læse disse to:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538
og skriv du så bare HTML4.01, til det er muligt at komme igang med XHTML, der faktisk bliver brugt til noget. I øjeblikket parses din XHTML kode med garanti som fejlfyldt HTML4.01 ... med eller uden Flash  :)

/mvh
</bole>
Avatar billede nikolajdu Nybegynder
19. december 2004 - 23:16 #3
Ovenstående kan valideres som xhtml - Html 4.x syntaks vil aldrig kunne valideres da der kræved <embed> tagget for at det virker crossbrowser.
Avatar billede olebole Juniormester
19. december 2004 - 23:20 #4
Yups ... den artikel, spørgeren henviser til, ender i præcis samme markup  :)
Avatar billede nikolajdu Nybegynder
19. december 2004 - 23:24 #5
if it works don't fix it... altså næsten ;-)
Avatar billede olebole Juniormester
19. december 2004 - 23:28 #6
Jamen, jeg er skam ikke uenig i den markup ... tværtimod, det er den eneste, der virker og er valid. Jeg påpeger blot, at jeg mener, XHTML er spild af tid  :)
Avatar billede nikolajdu Nybegynder
19. december 2004 - 23:33 #7
Jeg ved det har læst dine artikler (går ud fra det er dem du linker til)
Avatar billede olebole Juniormester
19. december 2004 - 23:41 #8
Ja, det er 'Evangeliet', mullahen, der brokker sig over alle mullaher, linker til  ;D
Avatar billede olebole Juniormester
19. december 2004 - 23:45 #9
... men for at komme tilbage til spørgsmålet: Det dér billedikon - kan det være fordi, du ikke har slettet billed-tag'et i eksemplet fra artiklen? Det skal jo kun være der, hvis du vil vise et billede i stedet for swf'en - og du skal have en billedfil med det navn  :)
Avatar billede olebole Juniormester
19. december 2004 - 23:51 #10
Læg også mærke til, hvad han skriver om, at IE hænger og vil downloade hele filmen, før den går igang. Derfor laver han en container-swf, der importere den 'rigtige'.
Hvis du har et billed-tag liggende i dit object-tag, bliver dette billede vist, mens swf'en bliver hentet - eller hvis klienten ikke kan vise Flash.

Har du tilmed ikke et billede, der hedder 'noflash.gif', vil IE vise 'jeg-kan-ikke-finde-dette-billede' ikonet. Det gør f.eks. Gecko-browsere ikke.

Det må være det, der driller  ;o)
Avatar billede nikolajdu Nybegynder
20. december 2004 - 00:12 #11
Jeg fjernede det faktisk for eksemplets skyld men her så :

<object type="application/x-shockwave-flash" data="flash/preloader.swf" width="760" height="130">
    <param name="movie" value="flash/preloader.swf" />
    <param name="FlashVars" value="titled=I glemmer os Aldrig&amp;w=605&amp;605" />
      <img src="p/middle_bg.gif" alt="No top Flash" width="760" height="130" />
</object>
Avatar billede olebole Juniormester
20. december 2004 - 00:25 #12
*LooOooL* jeg tror, vi snakker lidt forbi hinanden. Min pointe er, at det ikon, spørgeren omtaler, skyldes, at han har copy/pasted koden fra den artikel, han linker til:

<object type="application/x-shockwave-flash" data="c.swf?path=movie.swf"
  width="400" height="300">
  <param name="movie" value="c.swf?path=movie.swf" />
  <img src="noflash.gif" width="200" height="100" alt="" />
</object>

... og kun rettet swf-navnet - uden at slette img-tag'et. Bruger han dit første eksempel, er problemet løst  ;o)
Mine kommentarer (19/12-2004 23:45:40) og (19/12-2004 23:51:18) var et forsøg på at forklare spørgeren dette  ;o)
Avatar billede nikolajdu Nybegynder
20. december 2004 - 00:29 #13
nå måske jeg også skal til at læse tingene her...
Avatar billede olebole Juniormester
20. december 2004 - 03:24 #14
... du ku' jo ønske dig en sdavø-pladø *HoHo*  *<();o)
Avatar billede ksteffer Nybegynder
21. december 2004 - 23:55 #15
jeg har prøvet at lave flg.

var b = navigator.appName;

if (b == "Microsoft Internet Explorer") {
    document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"  width=\"380\" height=\"200\" id=\"flashmenu\">");
    [ snip params ]
    document.write("</object>");
} else {
    document.write("<object type=\"application/x-shockwave-flash\" data=\"fla/login_screen.swf\" width=\"380\" height=\"200\" id=\"flashmenu\">");
    [ snip params ]
    document.write("</object>");
}

Og det ser ud til at IE laver billed-dimsen når den har data attributen i object-tagget. Den kommer nemlig ikke hvis den ikke er der. Men så kommer den heller ikke i eks. vis FireFox.

Jeg tester lidt videre.
Avatar billede olebole Juniormester
22. december 2004 - 01:29 #16
Jamen, hvorfor så ikke bare skrive hele siden i HTML4.01? Så snart du bruger 'document.write', ødelægger du ethvert forsøg fra browserens side på at parse dokumentet som XHTML. Den virker kun i HTML  :)

Har du testet de andre ting? Hvad fik du af at teste?
Avatar billede nikolajdu Nybegynder
23. januar 2005 - 11:56 #17
...
Avatar billede mixhael Nybegynder
25. april 2005 - 01:10 #18
tg
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester