Maciej Szczepański

Maciej Szczepański www, marketing,
reklama

Temat: automatyczne wykrywanie wersji dla komorek?

Witam,

zrobilem stronke w dwoch wersjach dla pc i dla komorek. Czy ktos wie gdzie moge znalesc skrypt ktory automatycznie wykrywalby ze lacze sie z telefonu i wyswietlal odpowiednia strone? Wiem ze sa strony na ktorych to dziala, ale googluje juz chwile w poszukiwaniu rozwiazania i nic nie moge znalesc.

Z gory dzieki za wszelka pomoc.
Pozdrawiam
Maciek
Marek Przegaliński

Marek Przegaliński SEO/SEM Web Promocja
Bezpieczeństwo

Temat: automatyczne wykrywanie wersji dla komorek?

Maciej Szczepański:
Witam,

zrobilem stronke w dwoch wersjach dla pc i dla komorek. Czy ktos wie gdzie moge znalesc skrypt ktory automatycznie wykrywalby ze lacze sie z telefonu i wyswietlal odpowiednia strone? Wiem ze sa strony na ktorych to dziala, ale googluje juz chwile w poszukiwaniu rozwiazania i nic nie moge znalesc.

Z gory dzieki za wszelka pomoc.
Pozdrawiam
Maciek


Hm... Chyba nie ma takiego automatu.
Dla komórki jest "adres", lub link.
Maciej Szczepański

Maciej Szczepański www, marketing,
reklama

Temat: automatyczne wykrywanie wersji dla komorek?

Marek Przegaliński:
Maciej Szczepański:
Witam,

zrobilem stronke w dwoch wersjach dla pc i dla komorek. Czy ktos wie gdzie moge znalesc skrypt ktory automatycznie wykrywalby ze lacze sie z telefonu i wyswietlal odpowiednia strone? Wiem ze sa strony na ktorych to dziala, ale googluje juz chwile w poszukiwaniu rozwiazania i nic nie moge znalesc.

Z gory dzieki za wszelka pomoc.

Pozdrawiam
Maciek


Hm... Chyba nie ma takiego automatu.
Dla komórki jest "adres", lub link.

Czesc Marek, dzieki za zainteresowanie tematem. Tez tak myslalem ale kolega dla ktorego robie ta stronke mnie oswiecil i rzeczywiscie jest cos takiego. Jak wchodzę na stronke z kompa pokazuja mi sie tabelki, reklamy itp, natomiast jak wchodze na nia z tel. mam listing pozycji w postaci linków i czysty tekst. Zaznaczam ze zawsze wpisuje ten sam adres. Adresu stronki nie bede podawal publicznie, zeby nie zostac posadzonym o deprawacje.

konto usunięte

Temat: automatyczne wykrywanie wersji dla komorek?

Maćku, nie jestem specjalistą, ale brałbym się za odczytanie ze zmiennej globalnej $_SERVER['HTTP_USER_AGENT']; (po stronie servera) lub za pomocą JS informacji o używanej przeglądarce - z pewnością ma w info coś o wersji mobilnej :) ostatnio odpowiadałem komuś na podobne pytanie: http://www.zytrax.com/tech/web/mobile_ids.html tu masz info o tym co wysylaja przegladarki
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: automatyczne wykrywanie wersji dla komorek?

jedyną opcją jaką możesz sprawdzić, to nagłówek user agent, przesyłany przez przeglądarkę do serwera. Jeśli to aplikacja w PHP, to możesz sprawdzić zmienną $_SERVER['HTTP_USER_AGENT'], dla firefoksa wyświetli Ci

Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3...

, a dla np. opery mini

Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.13918/488; U; pl) Presto/2.2.0

Jedyna sprawa, jaką pozostaje rozstrzygnąć, to które user agenty są od komórek, a które od przeglądarek zwykłych. w PHP przydatną funkcją bęzdie get_browser(), ale ma one dodatkowe wymagania (więcej w manualu: http://pl.php.net/manual/pl/function.get-browser.php).
Maciej Szczepański

Maciej Szczepański www, marketing,
reklama

Temat: automatyczne wykrywanie wersji dla komorek?

Ok, wielkie dzieki Panowie. To znacznie ulatwiło mi poszukiwania.

Ponizej zamieszczam kod ktory po drobnych modyfikacjach mi zadzialal.

header('Location: mobi/'); - lokalizacja katalogu z wersja dla komorki.



<?

function detect_mobile_device(){

// check if the user agent value claims to be windows but not windows mobile
if(stristr($_SERVER['HTTP_USER_AGENT'],'windows')&&!stristr($_SERVER['HTTP_USER_AGENT'],'windows ce')){
return false;
}
// check if the user agent gives away any tell tale signs it's a mobile browser
if(eregi('up.browser|up.link|windows ce|iemobile|mini|mmp|symbian|midp|wap|phone|pocket|mobile|pda|psp',$_SERVER['HTTP_USER_AGENT'])){
return true;
}
// check the http accept header to see if wap.wml or wap.xhtml support is claimed
if(stristr($_SERVER['HTTP_ACCEPT'],'text/vnd.wap.wml')||stristr($_SERVER['HTTP_ACCEPT'],'application/vnd.wap.xhtml+xml')){
return true;
}
// check if there are any tell tales signs it's a mobile device from the _server headers
if(isset($_SERVER['HTTP_X_WAP_PROFILE'])||isset($_SERVER['HTTP_PROFILE'])||isset($_SERVER['X-OperaMini-Features'])||isset($_SERVER['UA-pixels'])){
return true;
}
// build an array with the first four characters from the most common mobile user agents
$a = array(
'acs-'=>'acs-',
'alav'=>'alav',
'alca'=>'alca',
'amoi'=>'amoi',
'audi'=>'audi',
'aste'=>'aste',
'avan'=>'avan',
'benq'=>'benq',
'bird'=>'bird',
'blac'=>'blac',
'blaz'=>'blaz',
'brew'=>'brew',
'cell'=>'cell',
'cldc'=>'cldc',
'cmd-'=>'cmd-',
'dang'=>'dang',
'doco'=>'doco',
'eric'=>'eric',
'hipt'=>'hipt',
'inno'=>'inno',
'ipaq'=>'ipaq',
'java'=>'java',
'jigs'=>'jigs',
'kddi'=>'kddi',
'keji'=>'keji',
'leno'=>'leno',
'lg-c'=>'lg-c',
'lg-d'=>'lg-d',
'lg-g'=>'lg-g',
'lge-'=>'lge-',
'maui'=>'maui',
'maxo'=>'maxo',
'midp'=>'midp',
'mits'=>'mits',
'mmef'=>'mmef',
'mobi'=>'mobi',
'mot-'=>'mot-',
'moto'=>'moto',
'mwbp'=>'mwbp',
'nec-'=>'nec-',
'newt'=>'newt',
'noki'=>'noki',
'opwv'=>'opwv',
'palm'=>'palm',
'pana'=>'pana',
'pant'=>'pant',
'pdxg'=>'pdxg',
'phil'=>'phil',
'play'=>'play',
'pluc'=>'pluc',
'port'=>'port',
'prox'=>'prox',
'qtek'=>'qtek',
'qwap'=>'qwap',
'sage'=>'sage',
'sams'=>'sams',
'sany'=>'sany',
'sch-'=>'sch-',
'sec-'=>'sec-',
'send'=>'send',
'seri'=>'seri',
'sgh-'=>'sgh-',
'shar'=>'shar',
'sie-'=>'sie-',
'siem'=>'siem',
'smal'=>'smal',
'smar'=>'smar',
'sony'=>'sony',
'sph-'=>'sph-',
'symb'=>'symb',
't-mo'=>'t-mo',
'teli'=>'teli',
'tim-'=>'tim-',
'tosh'=>'tosh',
'treo'=>'treo',
'tsm-'=>'tsm-',
'upg1'=>'upg1',
'upsi'=>'upsi',
'vk-v'=>'vk-v',
'voda'=>'voda',
'wap-'=>'wap-',
'wapa'=>'wapa',
'wapi'=>'wapi',
'wapp'=>'wapp',
'wapr'=>'wapr',
'webc'=>'webc',
'winw'=>'winw',
'winw'=>'winw',
'xda-'=>'xda-'
);
// check if the first four characters of the current user agent are set as a key in the array
if(isset($a[substr($_SERVER['HTTP_USER_AGENT'],0,4)])){
return true;
}
}

function detect_iphone(){
if(eregi('iphone',$_SERVER['HTTP_USER_AGENT'])||eregi('ipod',$_SERVER['HTTP_USER_AGENT'])){
return true;
}
}

// example 1 - detect and redirect mobile browsers
if(detect_mobile_device()){
header('Location: mobi/');
exit;
}

// example 2 - detect and redirect desktop browsers
if(!detect_mobile_device()){
include('index.php');
exit;
}

function detect_iphone2(){
if(eregi('iphone',$_SERVER['HTTP_USER_AGENT'])){
return true;
}
}

// example 3 - send iphone to specific site
if(detect_iphone()){
header('Location: mobi/');
exit;
}


?>
Maciej Szczepański edytował(a) ten post dnia 17.05.09 o godzinie 23:01
Adam Brodziak

Adam Brodziak PHP, football, fun

Temat: automatyczne wykrywanie wersji dla komorek?

Wbrew pozorom jest to złożone zadanie, jeśli by chcieć to zrobić dobrze. Problemem oczywiście jest ilość urządzeń (a zatem i specyfikacji) jak również dynakmika rynku. Stąd gotowce jak ten za kilka miesięcy mogą nie działać jak należy.Adam Brodziak edytował(a) ten post dnia 18.05.09 o godzinie 23:58
Olga Grabek

Olga Grabek Senior Software
Engineer

Temat: automatyczne wykrywanie wersji dla komorek?

Jest jeszcze projekt wurfl. Możesz z niego skorzystać, bo względnie często baza jest aktualizowana.
Cezary Ż.

Cezary Ż. menedżer zespołu
zarządzania vortalem
w ING Banku Śląskim

Temat: automatyczne wykrywanie wersji dla komorek?

Polecam też dodatkowo zapoznanie się z definicją co dany telefon potrafi (UAprof).

I koniecznie lekturę tego
Marek Przegaliński

Marek Przegaliński SEO/SEM Web Promocja
Bezpieczeństwo

Temat: automatyczne wykrywanie wersji dla komorek?

Adam Brodziak:
Wbrew pozorom jest to złożone zadanie, jeśli by chcieć to zrobić dobrze. Problemem oczywiście jest ilość urządzeń (a zatem i specyfikacji) jak również dynakmika rynku. Stąd gotowce jak ten za kilka miesięcy mogą nie działać jak należy.Adam Brodziak edytował(a) ten post dnia 18.05.09 o godzinie 23:58

O to mi chodziło ... Jeden tel da radę inny niekoniecznie. Tak skromnie dopisze się
Marcin Chyła

Marcin Chyła Product Manager

Temat: automatyczne wykrywanie wersji dla komorek?

znam 3 sposoby:

1) rozprucie user agent - wspomniany powyżej
http://www.mobilizuj.pl/rozpoznawanie-urzadzenia-i-red...

2) WURLF - ładnie opisane tu: http://wurfl.sourceforge.net/

oraz

3) DeviceAtlas - wielka specyfikacja urządzeń mobilnych - można sprawdzić markę i model, ale także rozdzielczość ekraniku i dużo innych parametrów urządzenia.
Fajny manual jest tu:
http://mobiforge.com/developing/story/the-deviceatlas-...Marcin Chyła edytował(a) ten post dnia 29.07.10 o godzinie 12:45

konto usunięte

Temat: automatyczne wykrywanie wersji dla komorek?

Możesz użyć typu mediów "handheld" w css2 ale iPhon i Blackberry tego nie rozumieją. Możesz też pobawić się w mediami w css3.

http://www.cms.rk.edu.pl/w/p/tworzenie-stron-pod-iphon...
http://www.1stwebdesigner.com/tutorials/how-to-use-css...
http://www.w3.org/TR/css3-mediaqueries/
Piotr Maliński

Piotr Maliński Programista
Python/Django

Temat: automatyczne wykrywanie wersji dla komorek?

Handheld to tylko antyki używają. Opera mini, jak i wszystkie nowe smartphone to tylko przez "max-device-width: 480px". Tyle że to pozwala tylko dopasować CSS.Piotr Maliński edytował(a) ten post dnia 28.07.10 o godzinie 14:03

konto usunięte

Temat: automatyczne wykrywanie wersji dla komorek?

Dlatego trzeba pisać kod beztabelkowy, samym css'em można dostosować wygląd strony do przeglądarek urządzeń mobilnych.

Można użyć handheld'a dla antyków, a te kilka nowszych wykrywać user agent'em, do tego osobne wykrycie przeglądarek wap.
Bartłomiej Ogryczak

Bartłomiej Ogryczak Backend Developer @
Layar

Temat: automatyczne wykrywanie wersji dla komorek?

Maciej Szczepański:
Witam,

zrobilem stronke w dwoch wersjach dla pc i dla komorek. Czy ktos wie gdzie moge znalesc skrypt ktory automatycznie wykrywalby ze lacze sie z telefonu i wyswietlal odpowiednia strone?

WURFLBartłomiej Ogryczak edytował(a) ten post dnia 02.08.10 o godzinie 18:13

Temat: automatyczne wykrywanie wersji dla komorek?

Podczas tworzenia oprogramowania bluetooth marketingu trafiłem na podobny problem. Niestety nie ma 100% jednoznacznej odpowiedzi - w zależności od potrzeb możesz spróbować skonstruować jakąś "hybrydę" z rozwiązań powyżej, zresztą bardzo celnych.



Wyślij zaproszenie do