Detekce jména a verze prohlížeče
- buffus
- Člen | 101
Ahoj, potřebuji zobrazit na stránce jméno a verzi prohlížeče, něco jako je výsledek dekódování na http://www.provaz.cz/…ika_test.php . Jde to nějak snadno, jako např. výpis verze php pomocí {=PHP_VERSION} ?
Editoval buffus (22. 2. 2012 22:24)
- buffus
- Člen | 101
Chci návštěvníkům zdůraznit verzi jejich prohlížeče při varování, že stránky nejsou pro jejich prohlížeč optimalizovány. Jen jsem se chtěl tady zeptat, jestli na to má Nette nějaké udělátko, nebo to musím udělat v php. Marně procházím dokumentaci Nette a nic takového najít nemůžu, tak jsem se chtěl zeptat, jestli blbě hledám nebo něco takového skutečně v Nette není.
- Filip Procházka
- Moderator | 4668
V Nette to skutečně není, protože žádný dobrý programátor, který dělá v Nette Frameworku si nedá na stránky upozornění, že jejich web je, nebo není optimalizovaný pouze pro některé prohlížeče.
Dobrý programátor/kodér optimalizuje pro všechny prohlížeče, nebo se za sebe stydí a skutečnost neroztrubuje. Ty se nestydíš a ještě roztrubuješ, že ti není hamba.
- Tharos
- Člen | 1030
Vy se ho natrápíte. :) To, co hledáš, je možné vytáhnout z instance
Nette\Http\Request
. V presenteru například následovně:
$this->context->httpRequest->getHeader('user-agent');
No a pak už si to jen stačí předat do šablony…
Doplnění: Samozřejmě ale dobrý web má korektně fungovat ve všech reálně používaných prohlížečích a ideálně i na různých zařízeních (PC, iPad, Android mobil…). V tomhle dávám kolegům jednoznačně za pravdu.
Editoval Tharos (22. 2. 2012 23:35)
- buffus
- Člen | 101
Díky díky oběma. A v tom, co se netýká jádra mé otázky, ale optimalizace pochopitelně souhlasím. Ale můžou existovat také weby jako např. http://www.chromeexperiments.com/ a tam se to šiknout může.
- ic
- Člen | 430
Taková detekce je dneska ale docela peklo… zvlášť s tou spoustou
prohlížečů a mobilních zařízení a tabletů… na kterých je zase
spousta prohlížečů.
Využíval jsem vždy služeb browscap.ini http://browsers.garykeith.com/downloads.asp (který by celkem
logicky měl být vždy aktuální), ale těch zařízení je už dneska tolik,
že i browscap tam má dost často ‚neznámý prohlížeč‘.
Optimalizovat stránky pro jeden konkrétní prohlížeč s tím jde snadno,
ale vypsat prohlížeče návštěvníkům… no pokud si ty data uložíš
budeš se divit, kolik prohlížečů bylo neurčeno, nebo určeno špatně.
- Elijen
- Člen | 171
HosipLan napsal(a):
V Nette to skutečně není, protože žádný dobrý programátor, který dělá v Nette Frameworku si nedá na stránky upozornění, že jejich web je, nebo není optimalizovaný pouze pro některé prohlížeče.
Dobrý programátor/kodér optimalizuje pro všechny prohlížeče, nebo se za sebe stydí a skutečnost neroztrubuje. Ty se nestydíš a ještě roztrubuješ, že ti není hamba.
Sorry, ale to je hroznej blábol :-) Takové upozornění používá i Google a např. spousta webů internetového bankovnictví.
- Vojtěch Dobeš
- Gold Partner | 1316
Optimalizovat pro všechny prohlížeče samozřejmě lze – tak, že se neoptimalizuje pro všechny existující druhy a verze prohlížečů, ale pro jejich vlastnosti. Viz přístup alá Modernizr aj.
Pak jsou samozřejmě problémy typu IE, ale na jeho problémy asi není
potřeba používat User-agent
, spíš HTML podmíněné
komentáře.
- ic
- Člen | 430
Že se ještě vracím k tak starému tématu… ale našel jsem zase něco
nového: http://detector.dmolsen.com/ a funguje to o hodně
spolehlivěji, než browscap.ini , který prostě nikde nikdo neaktualizuje.
Je to php a javascript verze… obě fungují velice spolehlivě… snad
autorům to nadšení vydrží i nadále. Navíc je to na githubu, tak třeba
to přiláká nějaké další tvůrce.