Zadejte hledaný výraz...

Ověřování mobilního prohlížeče

V minulosti jsem našel script, který zjišťoval, zda-li jde o prohlížení webu přes mobil či nikoliv.
function isMobile() {
$browsers = "UP.LINK|MIDP|UP.BROWSER|NOKIA|MOT|SEC-"
. "|WAP|ERICSSON|SAMSUNG|SIE-|PHONE|PANASONIC"
. "|MITSU|LG-|LGE|PORTALMMM|BLACKBERRY|SYMBIAN|PHILIPS"
. "|SENDO|KLONDIKE|SAGEM|MOBILE|ALCATEL|SONY|WINDOWS CE|"
. "PDA|PSP|POCKET|MIDP|MINI|IEMOBILE|J2ME";
return ERegI(quoteMeta($browsers), $_SERVER);
}
Nyní v době rozmachu dotykových mobilů, iphonů a androidů však tento script nemusí být aktuální. Existuje nebo neznáte URL adresu na přesnější detekci mobilního prohlížeče?
9. 5. 2011 14:30:12
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635115
kdysi jsem to zjišťoval pomocí javascriptu a velikost okna, ale je to spíš odhad a v dnešní době iPhonů 4 to moc přesné není :D
9. 5. 2011 14:55:58
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635114
Michal Haták
verified
rating uzivatele
(1 hodnocení)
9. 5. 2011 16:26:33
nasel jsem jednu tridu primo na tohle,
mela by byt funkcni, a kod neni muj
/**
* Mobile Detect
*
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
class Mobile_Detect {
protected $accept;
protected $userAgent;
protected $isMobile = false;
protected $isAndroid = null;
protected $isBlackberry = null;
protected $isOpera = null;
protected $isPalm = null;
protected $isWindows = null;
protected $isGeneric = null;
protected $devices = array(
"android" => "android",
"blackberry" => "blackberry",
"iphone" => "(iphone|ipod)",
"opera" => "opera mini",
"palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)",
"windows" => "windows ce; (iemobile|ppc|smartphone)",
"generic" => "(kindle|mobile|mmp|midp|o2|pda|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap)"
);
public function __construct() {
$this->userAgent = $_SERVER;
$this->accept = $_SERVER;
if (isset($_SERVER)|| isset($_SERVER)) {
$this->isMobile = true;
} elseif (strpos($this->accept,'text/vnd.wap.wml') > 0 || strpos($accept,'application/vnd.wap.xhtml+xml') > 0) {
$this->isMobile = true;
} else {
foreach ($this->devices as $device => $regexp) {
if ($this->isDevice($device)) {
$this->isMobile = true;
}
}
}
}
/**
* Overloads isAndroid() | isBlackberry() | isOpera() | isPalm() | isWindows() | isGeneric() through isDevice()
*
* @param string $name
* @param array $arguments
* @return bool
*/
public function __call($name, $arguments) {
$device = substr($name, 2);
if ($name == "is" . ucfirst($device)) {
return $this->isDevice($device);
} else {
trigger_error("Method $name not defined", E_USER_ERROR);
}
}
/**
* Returns true if any type of mobile device detected, including special ones
* @return bool
*/
public function isMobile() {
return $this->isMobile;
}
protected function isDevice($device) {
$var = "is" . ucfirst($device);
$return = $this->$var === null ? (bool) preg_match("/" . $this->devices . "/i", $this->userAgent) : $this->$var;
if ($device != 'generic' && $return == true) {
$this->isGeneric = false;
}
return $return;
}
}
pouziti:
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
if ($detect->isAndroid()) {
// code to run for the Google Android platform
}
if ($detect->isIphone()) {
// code to run for iPhone
}
if ($detect->isMobile()) {
// any mobile platform
}
9. 5. 2011 16:26:33
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635113
franta
verified
rating uzivatele
(16 hodnocení)
9. 5. 2011 21:47:15
Moc bych si pral aby nic neexistovalo. Tato moda me velice stve. Omezuje totiz dost vyrazne pouzivani webu z mobilu. Potom clovek musi vybirat na mobil prohlizec, ktery se umi tvarit jako ze bezi na desktopu.
9. 5. 2011 21:47:15
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635112
koracell
verified
rating uzivatele
(2 hodnocení)
9. 5. 2011 22:20:23
Napsal franta;654254
Moc bych si pral aby nic neexistovalo. Tato moda me velice stve. Omezuje totiz dost vyrazne pouzivani webu z mobilu. Potom clovek musi vybirat na mobil prohlizec, ktery se umi tvarit jako ze bezi na desktopu.
Přesně tak... akorát že já nehledám způsob jak to obejít, ale pokud tam není tlačítko pro normální zobrazení tak jdu ihned pryč.
K čemu je různá verze pro mobil a počítač dobrá, když i mobil dokáže zobrazit stránku normálně?
9. 5. 2011 22:20:23
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635111
Michal Haták
verified
rating uzivatele
(1 hodnocení)
10. 5. 2011 00:05:05
jsou i lide kterym vyhovuje mobilni zobrazeni, samozrejme by melo jit intuitivne prepnout do normalniho zobrazeni, ale i tak detekovat mobily a podle toho nabizet i mobilni zobrazeni neni nic spatneho :) ba naopak
10. 5. 2011 00:05:05
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635110
Kovboj
verified
rating uzivatele
(13 hodnocení)
10. 5. 2011 08:52:50
Napsal franta;654254
Moc bych si pral aby nic neexistovalo. Tato moda me velice stve. Omezuje totiz dost vyrazne pouzivani webu z mobilu. Potom clovek musi vybirat na mobil prohlizec, ktery se umi tvarit jako ze bezi na desktopu.
Problém není to že někdo ověřuje typ zařízení které na web přistupuje ale v tom, jak se ta informace pak použije - jestli vede ke zmrzačení webu nebo naopak ke zlepšení funkce na malých displejích.
10. 5. 2011 08:52:50
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635109
gully
verified
rating uzivatele
11. 1. 2013 12:39:16
http://code.google.com/p/php-mobile-detect/w/list
11. 1. 2013 12:39:16
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635108
Registrace
verified
rating uzivatele
(1 hodnocení)
11. 1. 2013 12:47:02
Mobilní verze webů jsou už minulostí ne? Otravnou minulostí připomínám.
Udělej web responzivní, to je nejlepší možný řešení.
11. 1. 2013 12:47:02
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635107
gully
verified
rating uzivatele
12. 1. 2013 13:51:44
Myslím,že web responzivní vcelku je. Tohle využívám k nezobrazování flash bannerů v mobilních zařízeních obecně.
12. 1. 2013 13:51:44
https://webtrh.cz/diskuse/overovani-mobilniho-prohlizece#reply635106
Pro odpověď se přihlašte.
Přihlásit