Det skal kunne validere i XHTML 1.0 Transitional, og det skal det bare. Ingen kommentar til det tak ;) I overstående kode får jeg en fejl med at slut tegnet for img ikke er tilladt der ( /> ) hvor det står?
Man kan snyde den. Det er vist sådan: document.write("<img src='" + pics[Math.floor(Math.random()*pics.length)] + "' border='none' alt='billede' /"+">");
Troede at validatoren ville forstå det når man definerede hvad det var <script type="text/javascript">???? Vil det så sige at det er umuligt at få det til at validere? Skal man definere funktionen i head, og så kalde funktionen i body for at det kan validere?
Det er ikke fordi, validatoren ikke forstår JavaScript. Den tror bare, man mener det alvorligt, når man skriver en XHTML-DTD - og følgelig naturligvis overholder reglerne for XML. Derfor skal script naturligvis altid escape'es som CDATA.
Desuden hører document.write til under HTML og kan slet ikke anvendes under XHTML.
- og så er det med at snyde 'censor' noget, der hører folkeskolen til. Har man bare forstået lidt af, hvordan W3C's validator bruges, prøver man naturligvis ikke at snyde den - men retter sin kode, så den er valid ;o)
cwboy >> jamen, document.write kan stadig ikke anvendes under XHTML. Så nytter det jo ikke bare at escape script-blokken. Enhver browser, der forsøger at parse dokumentet som XHTML vil vælte død om med en XML-fejl :)
mr_bula >> Det er, som cwboy skriver ... men det giver som sagt ingen mening at gøre det
- og grunden til at cwboy escaper CDATA-escaping'en med // er, at det ellers ikke kan bruges i en browser. Årsagen til det er, at XHTML er totalt ubrugeligt på WWW ... men det er jo det, du ikke vil høre. Hvorfor i alverden, du insisterer på at skrive skodkode, er mig en gåde ... men det må jo være dit problem :)
Hmmm cwboy's første mulighed (<!-- ) virker fint, den validere og vises som den skal i ie og firefox? Når jeg bruger CDATA kommer den med en syntaksfejl?
Mente også at man godt måtte bruge document.write i XHTML?
ole>> tak for de to links. Jeg arbejder selv med webdesign og -udvikling til hverdag. Er bl.a. med til at levere noget kode til en stak kunder - hader det som pesten, når de beder om XHTML, og at det samtidig skal vises nøjagtig ens i samtlige browsere på markedet....
Det er jo tit der der er problemet - det er ikke udvikleren der sætter kravene.. og ofte er det en politisk beslutning hvikle standarder der skal overholdes - og så vægtes anbefalinger fra udvikleren sjældent særligt tungt.
mr_bula >> Så skulle du tage at vise din lærer de to links. Det er overvejende sandsynligt, han ikke aner det fjerneste om XHTML. Det er i hvert fald det indtryk, man får, når man taler med folk under IT-uddannelser.
Du _skal_ escape script som CDATA. Ellers har det intet med XHTML at gøre. cwboy's 'hack' virker kun, fordi dit dokument ikke tolkes som XHTML, men som HTML.
- og nej ... document.write er komplet umuligt at bruge under XHTML. Den virker _kun_ under HTML. Det samme gælder innerHTML, document.images, document.forms, m.m.m.
For det ikke skal være løgn kan du heller ikke skrive: document.getElementById("mitbillede").src = pics[Math.floor(Math.random()*pics.length)]; - under XHTML. Der skal stå: document.getElementById("mitbillede").setAttribute("src", pics[Math.floor(Math.random()*pics.length)]);
XHTML er voldsomt meget mere end blot at sætte en DTD, lukke tags og skrive med småt. Der er bare ingen tutorial-forfattere (og ganske få lærere), der ved det - formodentlig fodi de aldrig selv har skrevet et fungerende XHTML-dokument :)
milandt >> der er tale om en underviser, der gerne skulle lære de unge mennesker noget realistisk om webkodning. Det er ganske realistisk, at det er 'politiske' beslutninger, der ligger til grund for mange beslutninger i branchen ... men det ville nu være formålstjenligt, om de lærte noget realistisk kodning, først. Spørgsmålet er, om læreren overhovedet selv ved, hvad han underviser i. Jeg ved poitivt, at det yderst sjældent er tilfældet, når det drejer sig om XHTML.
At der ikke bliver lyttet til koderne, er der zq ikke noget at sige til. Webkodere er nogen af de dårligst uddannede her i landet - og de fleste har ikke kompetencer, der gør dem værd at lytte på. Bare spørg dem om XHTML, f.eks ;o)
Synes godt om
Slettet bruger
21. oktober 2005 - 14:07#19
Nu er det jo ikke sikkert at underviseren har krævet at de skal bruge document.write, så lad os holde ham udenfor indtil andet er bevist ;)
Han har bedt dem skrive et XHTML-dokument - men åbenbart ikke fortalt dem, XHTML er ubrugeligt på WWW - og at det bør behandles strict som XML. Så er det jo komplet umuligt at frembringe et begavet, brugbart resultat.
Det vidner om overordentlig stor mangel på enten pædagogiske eller kodemæssige kompetencer :)
Super - siger tak for den gode og hurtige respons.
Ole: Tak for de to artikler, har virkelig fået noget stof til diskussion i min rapport, men har lige et spg. Nedestående, blive dokumentet ikke parsed som xml?
Ja, i de browsere, der understøtter XHTML - og hvis du har sat serveren til at levere den korrekte MIME-type. Korrekt MIME vil dog vælte IE, da den ikke understøtter XHTML, men i stedet vil tilbyde dig at downloade filen. End ikke IE7 kommer til at understøtte XHTML.
Sender du i stedet filen med den alm. MIME for HTML (text/html), vil ingen browser parse dokumentet som XHTML - og IE6 vil ydermere gå i quirks mode og derfor ikke understøtte CSS' box-model. Det skyldes, der står noget (din XML-prolog) før DTD'en.
Denne fejl bliver godt nok rettet i IE7 - men XHTML bliver altså stadig ikke understøttet :o|
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.