MobileDetect – detekce mobiliních zařízení

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
akadlec
Člen | 1326
+
0
-

zapomínáš na tablety: mobil → tablet → pc

EDIT:
beru z5. IsNotMobile by mělo vrátit true pokud se stránky načtou na pc tedy ne tablet a ne mobil. Pokud tomu tak neni tak je něco špatně.

Editoval akadlec (10. 3. 2015 16:05)

akadlec
Člen | 1326
+
0
-

@TomášBrchaň hele si si jistý že to testuješ dobře? PC, prázdné cookies a pokud mám v šabloně:

{isFullView}
    full view
{/isFullView}

tak se zobrazí protože full view je jako defaultní.

To co popisuješ ty je mimo nastavené chování. Ručně nastavené view může nabývat:

  • mobile
  • phone
  • tablet
  • full
  • not_mobile

a na tyto stavy je tam to makro k detekci

Tomáš Brchaň
Člen | 13
+
0
-

Zkoušel jsem s vymazaným cookies a dostal jsem hodnotu ‚not_mobile‘. Ale problém je v tom, že když přepneš do ‚full‘, tak už nedostaneš hodnotu ‚not_mobile‘.
Osobně vlastně nevím, jaký je rozdíl mezi ‚full‘ a ‚not_mobile‘. Podle mě je to to samé, takže je to duplicitní a tím vznikají ty zmatky. Nebo se mýlím?

Podle mě:
mobile = phone || tablet
takže:
not_mobile = !mobile = !phone && !tablet což znamená, že je to full, jiná možnost není.

akadlec
Člen | 1326
+
0
-

Tak ve své podstatě se ty view můžou předělat jinak

Yess
Člen | 16
+
0
-

akadlec napsal(a):

@Yess @Rypi : můžete pls zkusit? je tam udělaný fix pro přesměrování.

Ahoj, tak ja som to u mna skusal a momentalne s tym nie je problem, ale je pravda, ze to pravdepodobne nemam otestovane na rovnakom nastaveni servera. Uz si presne nepamatam, ako a ci som to vyriesil, ale tusim, ze to bolo spojene s konfiguraciou, pretoze na hostingu to slo OK.

akadlec
Člen | 1326
+
0
-

@Yess hele pokud si dobře pamatuju tak by to mělo být fixlé protože se mi to konečně podařilo reprodukovat a fixnout.

Kaliver
Člen | 12
+
0
-

Nazdar, ako by sa dal riesit dany pripad: Pride clovek cez mobil, automaticky je presmerovany na m.example.com. Co ale ak niektore linky maju odkazovat na full (desktopovu) verziu? Ako mu zobrazit full verziu aj cez mobil? Neide mi o zmenu view, ale o redirect na example.com/test

Tomáš Brchaň
Člen | 13
+
0
-

Pokud to dobre chapu, tak to budes muset resit programove treba tak, ze dana stranka /test nebude mit povolen mobile view a zvoli se vzdy full verze. Tim padem by ti zustal mobile view nastaven a kdyz by sel na stranku, kde je mobile verze, tak by se zase automaticky zobrazil mobile view.
Ale nevim, jestli je to to, co vlastne chces.

akadlec
Člen | 1326
+
0
-

Tvorba linků je na tobě. Tato extension akorát zajistí že po příchodu poprvé tě přesměruje na m.neco.cz pokud to chceš. Dál by sis to měl ohlídat resp to řešit v routeru aby se ti generovaly linky tak jak potřebuješ. Ono si to při redirectu uloži info do cookie o tom jaké view by mělo být použito a abys to změnil tak k tomu je ten switch parametr.

m.neco.cz t.neco.cz apod. slouží primárně pro přesměrování na daný typ url co na této stránce bude je už na tobě. Někdo to řeší tak že tam je úplně odlišná aplikace co je optimalizovaná pro mobil/tablet apod.

Kaliver
Člen | 12
+
0
-

@akadlec Praveze to mi neide do hlavy ako pracovat prave s tym switch parametrom…

akadlec
Člen | 1326
+
0
-

jednoduše, vložíš si do šablony odkazy/buttony co budou mít jako jeden parameter právě ten switch.

Jiří Nápravník
Člen | 710
+
0
-

Jde nějak docasne vypnout automatickou detekci, aby me to pri prichodu nedavalo tu view, co spravne mam. Ale fungovalo to jenom po prepnuti GET parametrem?

Potřebuji aby si to clovek mohl prokliklat jak to vypada v mobilni verzi, ale nechci zatim to zapnout automaticky pro vsechny mobily.

akadlec
Člen | 1326
+
0
-

View se ukládá do cookies, takže pokud použiješ switch parametr, tak se ti zvolené view přepne a bude se udržovat dokud bude v cookies, pokud z cookies zmizne tak se znova nastaví podle toho jake budeš mít device.

Jiří Nápravník
Člen | 710
+
+1
-

Ted jsem narazil na stejny problem, jako zminujete vyse. Prazdne cookies a {isFullView} se nevypise, protoze mam v device_view, taky not_mobile…

Osobne bych byl spise celkove pro zjednoduseni a mit v podstate tri stavy phone/tablet/full. Stejne samotne mobile asi nefunguje, jak jsme se bavili na Githubu.

Take by nebylo na skodu mit makro s deviceView i znegovane, protoze treba ted chci zobrazovat nejaky obsah vsude (tablet/full) krome telefonu ale isNotPhoneView neni, mozna by stacilo univerzalni isNotView ‚-doplnim-si-view-‘.

akadlec
Člen | 1326
+
0
-

Jj tím jak se doplnilo „phone“ to „mobile“ postrádá smysl, osobně jsem za to zjednodušit jak píšeš.

PS: osobně si nepotrpím na vykání, pokud to ovšem nevyžadujte vy :D

Jiří Nápravník
Člen | 710
+
0
-

To nebylo vykani, ja jen psal vy, protoze jsem myslel, ze to zminovalo vice lidi nade mnou:-)

akadlec
Člen | 1326
+
0
-

Jo tááák ;) tak to potom jo :-D