Autor Zpráva
Kamahl
Profil *
Mám skript, který zjišťuje jestli můžu klientovi bezpečně odeslat obsah jako xhtml:

function accept_xhtml (){
$b = false;
foreach (getallheaders() as $h){
if (eregi("application/xhtml+xml", $h)){
$b = true;
break;}}
return $b;}

if (accept_xhtml()){header("Content-Type: application/xhtml+xml; charset=UTF-8");}
else {header("Content-Type: text/html; charset=UTF-8");}


Ale stejně mi vždycky pošle text/html, kde je chyba?
Chamurappi
Profil
Měl bys testovat, jestli prohlížeč zná „text/html“ a teprve pokud HTML neumí, posílat mu XHTML. Při opačném postupu je ztráta návštěvníků jediné, co můžeš získat.
loyza
Profil
No chyba je v té podmínce:
if (eregi("application/xhtml+xml", $h)){
jsem to zkoušel a když jsem smazal to xml tak všechno fungovalo správně, ale jakmile tam to xml je tak to nefunguje, ovšem proč to dělá to nevím.
Peca
Profil
Moc se v tom nevyznám, ale navadí tam ten znak +? Nemělo by být před ním zpětné lomítko?
one_k
Profil
if(preg_match("/application/xthml+xml/i",$h))

pokud to ma testovat application/xhtml+xml tak by toto melo fungovat.
one_k
Profil
aha pred / a + jsou zpetna lomitka

edit: zpetne lomitko je pred /(ktere je uprostred) a +
Davex
Profil
Pro ovlivnění chování proxy cache by se mělo použít ještě následující:

header ("Vary: Accept");



Něco k tomu jsem našel na http://seky.nahory.net/2005/05/xhtml-mime-typ/
Kamahl
Profil *
Záhada :)... ale díky, funguje mi to

->Chamurappi Kolik jsi prosimtě viděl prohlížečů, které podporují xhtml a ne html? Já nula. Navíc třeba chci použít některé xml funkce, které nejsou kompatibilní s html 4. A navíc nevidím jiný důvod proč posíat text/html pro xhtml dokument a nechat ho zpracovat html parserem což znamená, že xhtml je zbytečné, než že ho klient prostě neumí.
krteczek
Profil
Kamahl: pokud z jakéhokoliv důvodu dojde při generování, nebo po cestě ke klientovi k chybě, neuvidí uživatel nic (teda něco asi jo => chybovou hlášku => jéé oni to mají rozbité, tak to jdu jinam... tohle se ti snažil Chamurappi vysvětlit...
Ale kdo chce kam, tomu se ucho utrhne...
krteczek
Chamurappi
Profil
Reaguji na Kamahl:
Navíc třeba chci použít některé xml funkce, které nejsou kompatibilní s html 4
Příklad? Kterou XML funkci můžeš spolehlivě používat, když různým prohlížečům posíláš různý MIME typ?

Ten tvůj přepínač typů je navíc dost odfláknutý. Nekouká přímo na Accept hlavičku, projíždí hlavičky všechny. Ani nezohledňuje priority dané parametrem q. I kdyby byl v tomto dokonalý, tak vím o jednom prohlížeči schopném zpracovat XHTML, který neakceptuje „application/xhtml+xml“, a naopak i o jednom, který při typu „application/xhtml+xml“ stejně užívá HTML parser.
habendorf
Profil
vím o jednom prohlížeči schopném zpracovat XHTML, který neakceptuje „application/xhtml+xml“, a naopak i o jednom, který při typu „application/xhtml+xml“ stejně užívá HTML parser

IE / Konqueror ?
Toto téma je uzamčeno. Odpověď nelze zaslat.