Danas sam sticajem okolnosti bio u prilici da nakon duzeg vremena updatujem svoju klasu za detekciju browsera. Radi se o klasi koja omogucava detektovanje tacne verzije Browsera/OS-a na osnovu user agenta browsera.
Npr: Mozilla Firefox 3.0.4 / Mac OS X
Može biti od koristi u slučaju da želite da korisnike određenih browsera redirektujete na posebne strane, kod pravljenja sopstvene statistike korišćenosti browsera itd.
Update sadrži dodatu podršku za Google Chrome, iPhone i Windows Vista OS.
Kompletan kod sa primerima možete downloadovati ovde
Ne radi dobro kad Operi kažeš da se predstavi kao FF.
U kom smislu ne radi dobro? I kako se to Opera “Predstavlja” (koji useragent string salje)?
Ja sam testirao sa svim mogucim browserima pomocu useragent switcher extenzije i radi ok.
Koje su prednosti ove klase pred browsecap.ini-jem?
poz 🙂
Osnovna prednost je da radi 🙂 Za browsecap moras imati browsecap fajl (nikakav prblem) ali i podesen php.ini sto je retko slucaj na shared hostingu (sad sam pogledao na dreamhostu i nije podesen). Obzirom da spada u PHP_INI_SYSTEM druge opcije nisu moguce.
Dalje, mislim da se veoma jednostavno koristi, bukvalno dva staticka metoda 🙂
require_once(“browser_detection.php”);
$browser = Browser_Detection::get_browser($_SERVER[‘HTTP_USER_AGENT’]);
$os = Browser_Detection::get_os($_SERVER[‘HTTP_USER_AGENT’]);
Primer kako radi: http://www.dinke.net/test/example.php
Sve je kao pravi FF osim što na kraj doda “Opera x.y”.
Ovo je pravi Useragent string FF-a (na win xp-u):
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Ako na ovo dodas Opera x.y radice svejedno:
—
Your browser is Mozilla Firefox 3.0.4
Your OS is Windows XP
—