JjarvkloMedlem sedan juli 20013 378 inlägg
jme skrev:
Så nu vet jag inte riktigt om jag ska byta till application/xhtml+xml eller om jag ska fortsätta med text/html...
Oavsett hur du gör, bör du ha koll på "Appendix C" eftersom du i det läget bör kunna tillhandahålla både text/html (för MSIE m.fl gamla ångskåp) och application/xhtml+xml :)
JjmeMedlem sedan maj 20012 237 inlägg jarvklo:
Alltså ska jag då vid varje request kika på http headern, vilket content type jag ska leverera?
Men klienterna kan ju ljuga om detta.
JjarvkloMedlem sedan juli 20013 378 inlägg Yep - men jag undrar om det är så vanligt att man begär format man inte hanterar, vi pratar alltså om att hålla koll på "Accept" och inte "User_Agent" ;)
På samma sätt kan du också avgöra vilket språk som är lämpligast att returnera i innehållet (via "Accept-Language") - Du kan tolka den och sedan avgöra t.ex. om besökaren föredrar finska framför svenska eller tvärtom ;)
http://xhtml.se/2003/03/14/lyssna-pa-din-webblasare-del-1/
JjmeMedlem sedan maj 20012 237 inlägg ok, jag trodde felaktigt att man tittar bara på User_Agent :)
Jag ska alltså kika om accept-strängen innehåller "application/xhtml+xml". Gör den det så levererar jag sidan som application/xhtml+xml annars väljer jag text/html.
Ännu en dum fråga, men jag måste väl också ändra på DOCTYPE?
ZzcorpanMedlem sedan dec. 20042 245 inlägg
jme skrev:
Jag ska alltså kika om accept-strängen innehåller "application/xhtml+xml". Gör den det så levererar jag sidan som application/xhtml+xml annars väljer jag text/html.
Du behöver nog också titta på "q"-parametern. Webbläsaren kanske föredrar text/html före application/xhtml+xml (eller kanske till och med hatar det senare):
Accept: text/html, application/xhtml+xml;q=0
JjarvkloMedlem sedan juli 20013 378 inlägg
jme skrev:
Ännu en dum fråga, men jag måste väl också ändra på DOCTYPE?
Njae - inte om du inte vill :)
Beprövat exempel i php på hur man kan göra finns bl.a. i http://www.webforum.nu/showthread.php?p=1170088#post1170088
FuelMedlem sedan okt. 20001 285 inlägg"q"-parametern ? ..tell me more.. :)
JjarvkloMedlem sedan juli 20013 378 inlägg Hmm...
För varje MIME-typ (eller språk för den delen - samma sak finns för "Accept-Language" om man vill automathantera innehållsspråkval på en sida) anger webbläsaren - enkelt uttryckt - "hur gärna" den vill ha en viss filtyp serverad när den anger en URL (filextensionen har alltså *ingen* betydelse om man bara ser till http-protokollet - bara MIME-typen). q=1 betyder 100% stöd, q=0 betyder inget stöd (därav att man, som zcorpan påpekar härovan, bör kolla q-värdet när man browsersniffar så att det inte står t.ex. "application/xhtml+xml;q=0" och man gör misstaget att man bara kollar att strängen "application/xhtml+xml" är en del av ACCEPT och därmed råkar skicka ut ett format som webläsaren inte hanterar ;) )
Min Firefox anger just nu t.ex. mha ACCEPT-headern
text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5
och det skulle kunna utläsas i klartext ungefär som som "text/xml, application/xml, application/xhtml+xml och image/png kan jag bäst (utelämnad q motsvarar q=1 - dvs högsta värdet) - därefter hanterar jag hellre text/html än text/plain men har du inte det så hanterar jag vad-som-helst med en kvalitetsfaktor på 0,5"
Kör du mod_negotiation på en Apache-server kan du även lägga en q-faktor på MIME-typerna på serversidan och låta den välja (statisk) fil baserat på både dina och besökande webbläsares preferenser...
Men det är en annan historia :)