Skocz do zawartości

tablety vs smartphony


dargre`

Rekomendowane odpowiedzi

Jest dział html,php,mysql. Nie ma javascript, więc piszę tutaj.

Czy ktoś spotkał jakąś mądrą funkcję albo klasę, która rozróźni tablety od innych urządzeń mobilnych, np.smartphonów, iphonów, itd.

Tych urządzeń to jest cała masa, po user agent nie sposób wykryć tableta, albo tylko nieiwielką ilość. Wielu piszę, że najlepiej po rozmiarach okna browsera, ale smartphony potrafią mieć tak samo duże okna i rozdzielczość.

Wiem, że nie da rady rozpoznać 100% tabletów, ale jakaś większa większość też by się przydała.

W PHP to jeszcze są jakieś klasy, ale w javascript nie znalazłem nic sensownego, a przekopałem sieć dość mocno, i to raczej tą anglojęzyczną, bo w polskiej to ubogo w takich tematach.

Jak ktoś dobrze zna temat to chętnie posłucham. Ja też mocno siedzę w temacie, ale zawsze czegoś się szuka. Kodowanie pod mobilne urządzenia to masakra. Nie dość, że wiele systemów, i urządzeń, to jeszcze wiele browserów i każdy inaczej chodzi w HTMl5, przynajmniej w zakresie audio/video, który mnie interesuje.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Dla WordPressa masz plugin Mobble, ale też z chęcią usłyszę co ktoś bardziej doświadczony ma do powiedzenia.

Ale ten Mobble to przede wszystkim php. Ja już znam parę klas php, które w miarę rozróżniają tablety od phones, chociaz też nie do końca. Tych urządzeń przybywa i ciężko to śledzić, nie m jak rozróźnić.

Mnie chodzi o javascript wyłącznie. Moja aplikacja to javascript. Indywidualnie to ja mogę podeprzeć się php, indywidualnie to ja bym wiedział co zrobić, albo świadomie bym rezygnował z odpowiedniej obsługi w ciemno dla iluś tam mniej znanch urządzeń.

Ale to jest aplikacja dostarczana różnym klientom, różne CMSy.

Niestety prawie żaden klient nie zdaje sobie sprawy z ograniczeń i nie potrafi się odpowiednio dostosować. Wszyscy czekają na gotowca, który będzie rozumiał prawie jak człowiek, no i najlepiej za parę groszy.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Dla każdego rodzaju CMS-ów masz odpowiednie wtyczki. Dla Joomla jest to Simple Mobile Detector, dla WP jest to Mobble. Jeżeli robisz stronę w HTML to użyj funkcji max-width i zrób przekierowanie do swojej mobilnej strony np. m.strona.pl

Sorry, panie Krisuuu, ale to zupełnie nie to o co pytam.

Nie chodzi mi o przekierowania i layout jako taki pod mobilne urządzenia ogólnie, ale o funkcję, czy klasę w javascript, która byłaby w stanie rozróźnić tableta od phonów.

Łatwo rozróźnić iPada, i parę inncyh tabletów Samasunga, ale tych możliwych urządzeń jest cała masa, a i tak wiele z nich nie da się rozpoznać po User Agent.

Rozmiary browsera, to też żaden czynnik dzisiaj, bo wiele iphonów używa równie dużych okien browsersa jak tablety i równie dużej rozdzielczości.

Niestety programistycznie wielkości samego urządzenia nijak nie idzie pobrać. Nie ma takich wartości, a szkoda.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety ale chyba Ci się nie uda

https://stackoverflow.com/questions/9533106/detect-phone-vs-tablet

jeżeli na stackoverflow proponują tylko standardowe rozwiązania: user-agent + rozdzielczości, to raczej mała szansa żeby był inny sposób.

Jeżeli chodzi o tworzenie mobilnych aplikacji i css/js, to jak jeszcze o tym nie słyszałeś to polecam getbootstrap.com, może rozwiązać kilka problemów.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli chodzi o tworzenie mobilnych aplikacji i css/js, to jak jeszcze o tym nie słyszałeś to polecam getbootstrap.com, może rozwiązać kilka problemów.

Ale chodzi o aplikację www. to też aplikacja jak by nie było, czy tam może raczej skrypt.

Chodzi o javascript na stronie www.

Ja naprawdę przeleciałem setki stron szukając rozwiązania.

Generalnie mógłbym przenieść z php do js coś takiego:

    $tabletDevices = array(
        'BlackBerryTablet' => 'PlayBook|RIM Tablet',
        'iPad' => 'iPad|iPad.*Mobile', // @todo: check for mobile friendly emails topic.
        'Kindle' => 'Kindle|Silk.*Accelerated',
        'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|GT-P1000|GT-P1010|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I777|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SGH-T989|SPH-D710|SPH-P100',
        'HTCtablet' => 'HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200',
    'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617',
        'AsusTablet' => 'Transformer|TF101',
        'NookTablet' => 'NookColor|nook browser|BNTV250A|LogicPD Zoom2',
        'AcerTablet' => 'Android.*(A100|A101|A200|A500|A501|A510|W500|W500P|W501|W501P)',
    'YarvikTablet' => 'Android.*(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468)',
        'GenericTablet' => 'Tablet(?!.*PC)|ViewPad7|LG-V909|MID7015|BNTV250A|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b',
    );

i użyć regex po User Agent.

Ale to strasznie dużo kodu jak dla javascript. A nawet jakby to pewnie i tak nie wykrywa wielu tabletów....

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Nie rozumiem dlaczego przejmujesz się wielkością kodu w js.

1) możesz zminimalizować/spakować kod js, są darmowe narzędzia. i tak spakowany umieszczać w headerze przez link script src

2) Kod umieszczony w headerze nie będzie pobierany za każdym razem, przeglądarki w smartphonach/tabletach też sobie to keszują

3) Przy dzisiejszych prędkościach internetu to nie problem, szczególnie że piszesz o zastosowaniach video/streamingu gdzie z definicji jest potrzebna dobra prędkość

...więc generalnie moim zdaniem robisz problem większy niż jest

Odnośnik do komentarza
Udostępnij na innych stronach

Sorry kolego, ale ja naprawdę wiem co robię i piszę.

Mój javasript to już i tak 6 tys. lini kodu. Oczywiście dostarczam go jako zminimalizowany, co wychodzi jakieś 180Kb.

Kod musi się szybko ładować, i czy plik jest zminimalizowany, czy nie to nie ma znaczenia.

Javascript wykonuje się znacznie wolniej niż php.

A ja nie mogę powiedzieć klientowi, że ma serwer do du... bo bym niewiele opchnął :D

Powiększenie kodu o wspomniany regex co prawda nie zmniejszy specjalnie szybkości, ani nie zwiększy mocno wielkości pliku,

ale i tak pozostaje sprawa skuteczności jego działania.

Naprawdę nie posądzaj mnie o taką niewiedzę, jak minimalizowanie skryptu.

Ja pisze i dostarczam takie rzeczy od ponad 10 lat i na całym świecie.

Masz rację, chodzi o odtwarzacz video. Przyciski na takim odtwarzaczu w małych urządzeniach są masakrycznie małe, niemożliwe do użycia bez powiększenia screenu.

I generalnie chodzi o ten najważniejszy przycisk, czyli "fullscreen". Więc sobie pomyślałem, że fajnie by było gdyby skok do fullscreenu był automatyczny na małych urządzeniach, w momencie startu odtwarzania.

Tak to się dzieje z automatu na iPhonie, ale na innych smartphonach już nie, pomijając fakt, że w niektórych browserach native fullscreen i tak w ogóle nie działa (Opera).

Póki co dodałem funkcję dblclick na ekranie, co powoduje przełączenie do fullscreenu.

Wszystko fajnie, tylko, że primo, nie wszyscy wpadną, żeby dwa razy kliknąć ekran. No i jeszcze w niektórych browserach to i tak nie zadziała...

Generalnie to na dziś nie widzę żadnej dobrej opcji dla takiego odtwarzcza. Jak spojrzeć na gigantów typu youtube, na niektórych urządzeniach oni też nie używają włąsnego playera,

tylko np. link do filmu, i konrolę nad filmem przejmuje native player w trybie fullscreen.

Tylko to trudno wytłumaczyć użytkownikom, i niemożliwe dostarczyć takie rozwiązanie pod każdy możliwy CMS.

Żeby ne być gołosłownym, wystarczy spojrzeć na najpopularniejszy JWPlayer.

Otworzyć ich główną stronę na jakimś smartphonie, np. Sony i pod Operą.

Player jest malutki, i teraz spróbować go rzucić na fullscreen, ale niby jak? Buttony są mikroskopijne, dblckick nie działa, bo też native fullscreen na takiej Operze nie jest obsługiwany.

Na Chromie podobnie, tyle, że dblclick już lepiej działa, native fullscreen funkcjonuje, zresztą to tak jak u mnie.

Ogólnie to ciężko pisać takie skrypty, z uwagi na mnogość urządzeń. Ile można ich mieć, ile czasu wkładać żeby pisać kod pod obsługę wszystkich, czy większości.

Mam iPada, iPhona i 4 smartphony, czasem pożyczę jakiś tablet Samsunga...

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Może po prostu przyjmij jakąś graniczną rozdzielczość dla małych/dużych urządzeń i choćby przez window.screen sprawdź czy na urządzeniu jest większa niż np. 640 lub 800...

Chyba, że to się nie sprawdzi u Ciebie.

Odpada, zarówno rozdzielczość jak i rozmiar okna browsera potrafi być równie duży zarówno na tablecie jak i na iphonie.

Ja to zczytywałem na wielu urządzeniach i browserach.

To nie ma nic wspólnego z rozmiarem urządzenia, czy tam jego ekranu.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Domyślam się, że detectmobilebrowsers.com itp. oraz ich bazy urządzeń analizowałeś?

A jakżeby inaczej. Znam link od kilku lat.

Oni pozmieniali swoje skrypty, i teraz jest to tylko pojedynczy regex wskazujący czy dane urządzenie jest mobilne czy nie.

Nie ma żadnej opcji rozróźnienia tabletów od phonów.

Kiedyś te skrypty były bardziej rozbudowane. A przytoczony regex z php dla tabletów właśnie pochodzi z takiego dawniejszego skryptu php.

Dobrze by było, gdyby ktoś prowadził taką bazę urządzeń, usystematyzawaną wg UserAgent i regularnie odświerzaną.

Można by wtedy podłożyć odpowiedniego regexa na same tablety. Jakby ktoś słyszał, widział...

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie robię stron ani systemów. Za dużo to czasu zabiera i opłacalność mała.

Robię za to pewne aplikacje/skrypty od wielu lat, generalnie w Polsce praktycznie nieznane,

za to w świat poszły tysiące, także do takich klientów którzy obracają milionami zielonych, czy EU.

Tyle, że wiadomo... Takie giganty to często większe kutwy niż średniaki.

To dośc zaawansowane historie i rozwijane systematycznie od lat.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności