Autor Zpráva
noway
Profil
Dobrý den,

jak již napověděl titulek potřeboval bych poradit.Rád bych nějak pomocí User agentu chtěl rozpoznat jaký prohlížeč návštěvník mého web má , a podle toho bych mu načetl css.Nevím totiž jak jinak a efektivně(sémanticky správně)zpřístupnit web design uživatelům s nejrůznějšími prohlížeči.(Bavíme se samozřejmě o 3. IE-5 IE-6 IE-7,Firefox,Opera)
tiso
Profil
noway - dá sa to i bez toho, pre IE existujú podmienené komentáre.
Okrem toho stránka sa môže cestou kešovať, a tak prehliadač môže dostať iný CSS súbor ako by mal.
Acci
Profil
Řešit přepínání stylů pro jednotlivé prohlížeče na straně serveru je celkem blbost a v praxi se to z mnoha důvodů nepoužívá. Radši se podívej na CSS hacky nebo na podmíněné komentáře pro IE.
noway
Profil
no ale mi to bylo doporučeno.Věc se má totiž takhle. O těch podmíněných komentářích vím,ale nevím jestli to platí pro všechny IE od verze 5 až po 7 včetně ... další věc co jsem zjistil je ta,že třeba stránka se mi jinak zobrazila ve firefoxu a jinak v opeře!!(to jsou i nějaké pomíněné komentáře pro Operu a firefox )a co s vistama?mají ty něco extra ??nebo pro ně platí to co pro IE7?... co teda s tím ? Prosím o vysvětlení s tim cashováním,nepochopil jsem proč by měl dostat jiný soubor?získává ho přece z HTML hlavičky a ta se nemění. děkuji za odpovědi.. :-)
tiso
Profil
noway -
1. áno, podmienené komentáre podporujú IE5 až IE7
2. FF vs. O: viac-menej sa dá preoperu prilinkovať iný css súbor pomocou hacku. Riešením je ale spraviť layot tak, aby sa zobrazoval rovnako vo všetkých majoritných prehliadačoch (FF, O, IE), sú na to finty...
3. stránka putuje od servera k počítaču návštevníka pomocou HTTP protokolu cez rôzne aktívne prvky siete, a môže mať nastavené kešovanie, aby sa pre každú požiadavku nemusela ťahať celou cestou. To znamená že ak bude chcieť niekto druhý prístup k tej istej stránke ako niekto pred ním, a narazí na uzol siete kde táto stránka bude v keši, tak sa mu pošle tá z keše. A keď majú obaja rôzne prehliadače problém je na svete...
Pre predstavu zjednodušená sieť:
SERVER-UZOL1-UZOL2-UZOL3-USER1
SERVER-UZOL1-UZOL2-USER2
zjednodušená komunikácia:
1. SERVER<-UZOL1<-UZOL2<-UZOL3<-USER1 =požiadavka usera1 na stránku
2. SERVER->UZOL1->UZOL2->UZOL3->USER1 =odpoveď - požadovaná stránka
3. SERVER-UZOL1<-UZOL2<-USER2 =požiadavka usera2 na stránku, napríklad na UZOL1 narazí nastránku v keši
4. SERVER-UZOL1->UZOL2->USER2 =odpoveď - stránka odoslaná z keše UZOL1
noway
Profil
OK pochopil jsem.ale vlastně jsi mi až tak nepomohl viz :aby sa zobrazoval rovnako vo všetkých majoritných prehliadačoch (FF, O, IE), sú na to finty...
Aké finty?trochu konkrétněji.nemusíš mi napsat přímo řešení,stačilo by mi napsat nějakou adresu kde najdu co potřebuju.Což je : co možná nejefektivnějším a sémanticky správným způsobem napsat web.stránku tak aby jela stejně v prohlížečích (Opera + Firefix + IE 5+6+7 )
Railbot
Profil
noway
To co se člověk určí měsíce (někteří rokyú bys chtěl mít popsané v jednom člíánku univerzálně? Hezké sci-fi :)
Chamurappi
Profil
Reaguji na tisa:
A keď majú obaja rôzne prehliadače problém je na svete...
Stačí přidat hlavičku „Vary: User-Agent“ a keše vědí, že různé prohlížeče mají dostávat různé verze.
noway
Profil
í přidat hlavičku „Vary: User-Agent“ a keše vědí, že různé prohlížeče mají dostávat různé verze
tak ted jsem malinko zmaten i já? dá se to tedy delat pomoci toho user agent???

4 Railbot... tak jako toto se snad nikdo neučí měsíce... měsíce se dělá třeba celá stránka ale né tady toto.navíc vzhledem k tomu kolik lidí už dělá www nevěřím že na efektivní metodu ještě nikdo nepřišel!
Railbot
Profil
noway
Každý web je jiný. Vždycky se může objevit dříve neřešený problém. Kdyby bylo tak snadné dělat kompatibilní weby asi bych přišel o práci a nebyl bych sám :o)
noway
Profil
OK,ale teď vážně vraťmě s k tématu.Jak tedy na to ?:-D
Joker
Profil
noway
Doufám není potřeba rozlišovat všechny verze jednotlivých prohlížečů. Já osobně dělím na tři skupiny:
- "Normální prohlížeče" (Opera, Firefox,...) a IE7 - dostanou základní, řekněme "normální stylopis".
- "Starší Explorery", IE5.5 a IE6 - dostanou "normální stylopis" plus další stylopis, který řeší jejich nedostatky.
- "Nepodporované prohlížeče" (IE5 a starší, NN4 a podobně) - bez stylů (dobře napsaná stránka pak bude čitelná, zatímco se stylopisem a podporou CSS v těchhle prohlížečích by to mohlo dopadnout všelijak)


<style type="text/css" media="all"> @import'/css/styl.css'; </style>
<!--[if lte IE 6]>
<style type="text/css" media="all"> @import'/css/styl-ie.css'; </style>
<![endif]-->


Rozebráno:
<style ...> - snad nic neobvyklého
@import'/css/styl.css'; - tady jsou dvě "finty". První, import stylu přes CSS @import nepochopí zastaralé prohlížeče ze skupiny "nepodporované". Ty tedy zůstanou bez stylu. Já ovšem odsunul do propadliště i IE5, který @import umí. Proto jsem použil druhou "fintu" a neudělal za @import mezeru. To odstaví IE5 a ostatní pokračují dál.
Takže teď mám "nepodporované" bez stylu a obě zbývající skupiny se stylem.
<!--[if lte IE 6]> ... <![endif]--> - podmíněný komentář, viz podmíněné komentáře. Tímhle projde IE6 a starší, ostatní to vidí jako komentář.
@import'/css/styl-ie.css'; - styl pro IE. Díky podmíněnému komentáři jen pro IE6 a starší, naopak stejné "finty" jako jsem napsal výše odstaví IE5 a starší, takže ve výsledku tenhle styl dostanou jen IE5.5 a IE6

Soubor styl-ie.css je jen doplňující stylopis, který upraví deklarace ze styl.css. Protože styl-ie.css vkládám později než styl.css, můžu ve styl-ie.css přepsat deklarace ze styl.css (například pokud potřebuju prvek s display:inline a v IE<7 display:block, dám do styl.css #prvek{display:inline;} a do styl-ie.css #prvek{display:block;} ) anebo je rozšířit (klasický problém s minimální šířkou: do styl.css dám min-width:něco; a do styl-ie.css stejnému prvku width:něco; )


Doufám, že je to srozumitelné, jako takový malý úvod do optimalizace vzhledu pro různé prohlížeče.
Z uvedeného popisu by taky mělo být zřejmé, jakými úpravami přesouvat IE5-IE7 do různých skupin.
Dělení mezi Operou a Firefoxem jsem nikdy neřešil, obvykle co funguje v jednom z nich, funguje s žádnými nebo minimálními úpravami i ve druhém. Ostatní prohlížeče, o kterých jsem nemluvil, mají na českém trhu tak mizivý podíl, že bych pro ně neudělal nic víc, než napsal stylopis podle normy a spolehnul se, že ho přečtou buď správně nebo vůbec.
noway
Profil
Děkuji Joker.Konečně nějaká věcná odpověď.Nechci nijak urazit nebo tak,to zas chraň bůh,ale o tady to jsem věděl,respektive na podmíněné komentáře jsem tady už narazil,hledal jsem nějakou alternativu,protože nevím jestli je to sémanticky správná volba.Já bohužel sémantiku dodržovat musím a to velmi.Jinak děkuji za názorný příklad a zcela určitě si ho vezmu k srdci pokud se neobjeví nějaká ta alternativa.Přesto ještě jednou děkuji.
Railbot
Profil
protože nevím jestli je to sémanticky správná volba
Podmíněné komentáře nemají se sémantikou vůbec nic společného. Je to běžné a v většině případů nejlepší řešení jak ošetřit IE. Lepší alternativa neexistuje. Sémantika se týká značek.

Jinak podle toho, co jsi psal usuzuji, že nemáš o tvorbě webu moc velký přehled a pleteš si melouny s autama, takže doporučuji alespoň www.semantika.name když už ti na ní tolik záleží
Joker
Profil
noway
na podmíněné komentáře jsem tady už narazil,hledal jsem nějakou alternativu,protože nevím jestli je to sémanticky správná volba
Podmíněné komentáře by měly být bez rizika. Jejich principem je, že IE si interpretuje určitý speciální zápis komentářů. Ale pro všechno ostatní to bude pořád jenom komentář.
Jak píše Railbot, se sémantikou to nesouvisí.
Alternativy existují, třeba CSS hacky anebo rozlišování prohlížeče pomocí PHP nebo Javascriptu, ale podmíněný komentář je podle mě nejspolehlivější varianta.
noway
Profil
4 railbot. O sémantice jsem přečetl docela dost takže si myslím že si ty blbé poznámky nech pro sebe.viz http://www.semantika.name/ nebo http://www.tvorba-webu.cz/ a , teď se dívám že si mi poslal odkaz který vážně neznám........ no prostě a jednoduše .. já to četl, a vím o čem mluvím.Možná jsem se tady nějak špatně vyjádřil ale jak vidíš existují i lidé, kteří to pochopili,věcně odpověděli a blbě nekecali.
Railbot
Profil
noway
Promiň, ale nabyl jsem žejmě mylné dojmu, že tomu nerozumíš, když porovnáváš visty a IE7 jako by snad bylo obojí prohlížeč a o podmíněných komentářích mluvíš v souvislosti se sémantikou.
noway
Profil
Tak já uvedu věci na pravou míru.Proč jsem mluvil o vistech... o nich jsem mluvil v souvislosti s user-agent ,a to proto ,že když jsem o tom četl našel jsem tam jak se IE7 identifikuje pod Vistama a jelikož jsem to jen proletěl,tak jsem to už dále neporovnával jestli je to identické s IE7 pod XP.Teď když o tom přemýšlím tak jelikož se jedná o část hlavičky HTTP protokolu (aspoň myslím že je to v hlavičce) tak by mělo být jedno jestli je to XP nebo vista ale jelikož microsoftu věřím asi jak romům tak jsem se radši zeptal.A co se týče podmíněných komentářů tak nevím co to tady pořád plácáš? já sem mluvil o sémantice v souvislosti s tím jak udělat web.stránku sémanticky správně aby se zobrazovala ve všech prohlížečích stejně.
habendorf
Profil
noway

A co se týče podmíněných komentářů tak nevím co to tady pořád plácáš? já sem mluvil o sémantice v souvislosti s tím jak udělat web.stránku sémanticky správně aby se zobrazovala ve všech prohlížečích stejně.

No podle mě jsi napsal toto:

na podmíněné komentáře jsem tady už narazil,hledal jsem nějakou alternativu,protože nevím jestli je to sémanticky správná volba

Navíc nevím co řešíš, odpovězeno ti bylo několikrát. A docela se divím, že se s tebou ještě někdo baví, poté co tu předvádíš.
noway
Profil
Ano napsal... ale možná kdyby někdo nerozebíral dopodrobna co jsem napsal-i když je to hloupost ale spíš by se mi snažil pomoct,asi bysme se tédle trapné diskuze vyhli.ukaž mi co mi tady napsal railbot k tématu co bych využil krom stránky kterou už mám dávno přečtenou.
noway
Profil
jako člověk chce pomoct a ještě ho skoro zdupou že o tom neví tolik kolik jiní, kteří se tomu věnujou třeba delší dobu,nebo profesionálně
Timy
Profil
noway
Nikdo tě tady nezdupal a mám pocit, že na většinu otázek ti tady bylo odpovězeno.

„,stačilo by mi napsat nějakou adresu kde najdu co potřebuju.co možná nejefektivnějším a sémanticky správným způsobem napsat web.stránku tak aby jela stejně v prohlížečích (Opera + Firefix + IE 5+6+7 )“
Začni třeba tady http://ie-brouci.dero.name/ potom třeba tady http://interval.cz/webdesign/css/ http://interval.cz/serialy/implementacni-chyby-v-prohlizecich/ kup si nějakou knížku, například http://knihy.cpress.cz/Pocitac/Book.asp?ID=1394 nebo http://www.zonerpress.cz/kniha-eric-meyer-o-css.html
noway
Profil
Ale jo,dyť já neříkám že mi nikdo nepomohl.Pomohl!Jen si myslím že si ty blbé poznámky mohli někteří odpustit a věnovat se místo toho více problematice.
tiso
Profil
Chamurappi - alebo druhá možnosť - nekešovať vôbec. Dík za info, toto som prehliadol keď som si o tom kedysi čítal.
noway - odkiaľ máme vedieť čo máš prečítané/čo vieš, keď to nenapíšeš popredu? Okrem toho ak si chceš čítať, tak nie je problém použiť vyhľadávač, treba ťa to naučiť? Neber v zlom.

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: