28. november 2003 - 09:20Der er
41 kommentarer og 3 løsninger
XHTML 1.0 strict
Yo experts!
Kort og kontant: Jeg har en Flashfilm på en side i XHTML 1.0 Strict, som validerer perfekt, men kun hvis flashdelen fjernes. Jeg har prøvet et "hack" bla. uden <embed>halløj m.m., men det virkede ikke optimalt selvom siden så fulgte "standarden"
Funktionalitet ER jo vigtigere end standard.
Så derfor:
Hvad sker der ved at jeg lader det være og W3C melder fejl mht. min side? Vil nogle browsere reagere på flash-objektet, fordi det er ugyldigt? Andre konsekvenser?
Standarder er jo til for at fortælle en læser, eksempelvis en din webbrowser hvilket kode den skal kunne læse og hvordan... Internet Explorer vil sandsynligvis overleve... men man kan risikere at validerer siden ikke op mod w3c, vil der findes læsere der ikke er istand til at se siden.
Sandsynligvis ville det være bedre for dig hvis du ikke kørte strict xhtml
Min personlige overbevisning er, at kan man ikke overholde standarden 100% (altså i dette tilfælde strict specificationen), så bør man finde den standard man opfylder 100%,,, xhtml 1.0 transitional er en udgave af html, som tillader gængse "fejl" i koden som ikke var fejl i html 4.x
Du kan risikere at blive udsat for at en fremtidig læser ikke vil læse dit transitional, men kun en valideret strict kode....
Hvis ikke du har en helt speciel grund til at bruge xhtml, er det, efter min overbevisning, bare en besværlig kodeform i forhold til html 4. Det er stadig for tidligt for browsere at skippe understøttelse af html 4
hoejrup> du har jo egentlig bare fjernet <embed> tagget. jeg snakker flere niveauer dybere end det. Den kode du viser vil resultere i ingenting, i rigtig mange browsere. ældre som nyere. bla. Mozilla.
bamzen> tja. jeg går stadig og overvejer hvad der nu er bedst. Men.. xhtml kan ses i næsten alle browsere, siden vises hurtigere. og så går man fremtiden i møde :)
Mange af de ting der gør at du føler din side vises hurtigere med xhtml strict, kan du også lave med html, ved at angive korrekte størrelser på ALT, ligesom du er tvunget til med xhtml strict
Synes godt om
Slettet bruger
28. november 2003 - 11:34#14
Hejsa. :-)
Jeg forstår ikke at det kan give så store problemer, for min kode virker udemærket hos mig. Og det er tilmed i XHTML 1.1 strict.
Her er et af mine eksempler: <?xml version="1.1" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da"> <head> <title>extend.dk</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="content-language" content="da" /> </head> <body> <table width="217" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" style="width: 150px; height: 75px" title="extend.dk" id="extend"><param name="movie" value="forward.swf" /><param name="quality" value="high" /></object> </td> </tr> </table>
-->ohmish: For det første, er standarden jo til, for netop at gøre koden browser-uafhænig. Så hvis koden ikke virker for nogle af jer, er det fordi at I bruger nogle dårlige browsere og/eller i nogle dårlige versioner (typisk IE 4 og Netscape 4).
For det andet, virker koden selvfølgelig i alle browsere som følger standarden. Det er jo netop det som er formålet med at validere. :-)
Desuden tester/arbejder jeg selv i primært Opera 7.2, dernæst i Netscape 7.1 og sidst i IE 6.0.
Men virker koden ikke i nogle af jeres browsere???
For det andet, virker koden selvfølgelig i alle browsere som følger standarden. Det er jo netop det som er formålet med at validere. :-)
Citat slut...
Det er korrekt hvis og såfremt at programmørene bag web-browseren har kunnet implementere det... det er der ingen der siger de skal, vil eller kan...
Alle browser fabrikanter har vist deres evne til at lave deres egne små finurligheder ved standarderne. Så nej, du kan ikke være sikker på at en siden som validerer som xhtml strict, også vises korrekt i en browser der forstår xhtml
Synes godt om
Slettet bruger
28. november 2003 - 11:50#23
Og det skal lige tilføjes: De browsertest jeg foretager, er på en Windowsplatform.
Mozilla f.eks kræver <embed> tagget som du har fjernet. har testet..
Synes godt om
Slettet bruger
28. november 2003 - 11:55#26
-->bamzen: Ja, alle browser fabrikanter har deres egen måde at tolke standarden på, det er det som gør det så pokkers besværligt for os udviklere. :-(
Men da vi ikke kan beordre browserne at rette på fejlene, kan vi kun gøre vores bedste for at gøre koderne så browser-uafhænige som muligt. Og det er at følge standarden.
Alternativt kan vi foretage en browser-aflæsning på index/default-siden, og redirecte brugeren til et websted til er specielt tilpasset den enkelte browser. Og hvilken kunde vil betale for det?
Synes godt om
Slettet bruger
28. november 2003 - 11:58#27
-->ohmish: Ok, men så spørg dig selv, hvor mange alm. brugere (ikke udviklere!) som bruger Mozilla. Det er under 0.1 %, er jeg ret sikker på. Så igen: Spørg kunden, om kunden vil betale det extra for at den sidste del af brugerne også skal kunne se en flash... :-)
Synes godt om
Slettet bruger
28. november 2003 - 12:01#28
-->ohmish:
Lige for at komme til kernen og det konkrete:
Dit spørgsmål gik ud på, at få en Flash-animation igennem en XHTML 1.0 strict-validerering, og jeg har givet dit et brugbart svar. Min kode validerer fint, tilmed i XHTML 1.1 strict. :-)
det svære er at retfærdiggøre fravalget af browser for nogle besøgende. "jamen jeg kan da se flash alle steder!?" ville de nok tænke og skide "standarder" et stykke.
Derfor giver den dig heller ikke linket til xhtml strict grafikken, men til xhtml grafikken ;-)
Synes godt om
Slettet bruger
28. november 2003 - 12:10#33
-->ohmish: Ja, løsningern med redirect alt efter browsertype, er ved gud også den tunge vej at gå. Men hvis kunden absolut VIL have at det skal virke i Mozilla også, så er der vist ingen anden vej at gå. Men så koster det også knapper. :-)
Vedr. validering, er XHTML netop udviklet dels for at undgå de enkelte browsers underlige fortolkninger (der er fjernet mange, mange tags i XHTML 1.1 strict!), dels for at gøre websiderne tilgængelige i WAP-telefoner, og dels for at tage en blid overgang til XML. :-)
Synes godt om
Slettet bruger
28. november 2003 - 12:13#34
-->bamzen: Ja, den er ikke 100% vandtæt, men den virker! :-)
hmm.. xhtml transitional er vel mere standard end xhtml strict som jo ikke er standard endnu?
Synes godt om
Slettet bruger
28. november 2003 - 12:29#38
-->ohmish: Har du prøvet at indsætte koden i et af dine dokumenter med en XHTML 1.0 strict doc-type, og validere koden? Jeg er ret sikker på, at den futter lige igennem. :-)
Nå, men jeg må ikke bruge mere tid på dette her, jeg skal videre i dagens text. :-)
Nu har du ihvertfald fået en brugbar kode, og dit problem er blevet løst. :-))
"The OBJECT tag is used by Internet Explorer on Windows and the EMBED is used by Netscape Navigator (Macintosh and Windows) and Internet Explorer (Macintosh) to direct the browser to load the Macromedia Flash Player. Internet Explorer on Windows uses an ActiveX control to play Macromedia Flash content while all other browser and platform combinations use the Netscape plugin technology to play Macromedia Flash content. This explains the need for two tags."
så man skal lige passe på med, bare at fjerne <embed> tagget uden kompensation..
nikolajdu> ja, jeg har prøvet den løsning. men der opstår desværre uberegnelige cacheproblemer + en grim objectfirkant i IE inden flashfilmen afspilles hvis man undlader at loade filmen ind i en loaderfilm, vil IE ikke vise filmen før alt er hentet, og den grimme firkant vises indtil da
nu har jeg alligevel satset på <object> og via php vises <embed> hvis browseren kræver det
Ohmish - Cache problemer ja, men hvis du ser hvad jeg har smidt til dig så undgår du det helt.
Du skal som man nu bedst gør med flashfiler dele dem op og aldrig have én stor fil. Den fil du loader på siden skal altid være en preloader der "intet" fylder og som så henter resten af indholdet ind.
gør sådan og hav ingen problemer :))
Synes godt om
Ny brugerNybegynder
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.