Stránka: 1 z 1
| [ Príspevkov: 22 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
Znamy ma staru stranku a nechce investovat do responzivneho dizajnu. Ma stranku napr. www.nieco.sk a vytvoril si druhu verziu pre mobily napr. m.nieco.sk Nevieme vsak ako vyriesit, ze ak niekto pride z mobilu, aby hned zobrazilo stranku m.nieco.sk a ked nepride z mobilu tak normalnu verziu. Ono nebol by problem na normalnu stranku dat podmienku - ze ak je to mobilne zariadenie, tak redirect na mobilnu verziu. Avsak na tej mobilnej stranke chce este aj tlacidlo "Nacitat normalnu verziu". Cize ak je niekto na mobile a je na m.nieco.sk a klikne na ten odkaz ze chce normalnu verziu, tak mu tu normalnu nenacita, kvoli tomu redirectu co tam je. Kedze je na mobilnom zariadeni, tak ho to vzdy presmeruje na mobilnu verziu... viete nejak pomoct?
|
|
|
Ja by som to riesil tak, ze by som ulozil do nejakej premennej hodnotu true/false podla toho, ci chce, alebo nechce mobilnu verziu. Potom to pri redirecte, resp. pred nim treba skontrolovat.
|
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 | 9 |
nazyva sa to theme switcher. je to v podstate nad rovnakou databazou a rovnakym systemom (cms) postavena druha tema, ktora sa podla zariadenia -> url, htaccess alebo inej podmienky prepina podla potreby na strane servera. takze na priklade wordpressu by to bolo nejak takto -> jeden wordpress, dve temy : mojaTema, mojaTemaMobil ktore by mali vlastne templaty, vlastne css, vlastny js, spolocny by bol iba obsah a instancia wordpressu. v podstate stranku programujes dvakrat.
a k tej otazke ako to riesit. zvykne sa to pri prvom nacitani ulozit do cookies podla zariadenia, a potom sa uz nekontroluje zariadenie ale zaznam v cookies. a ked niekto stlaci prejst na normalnu verziu tak sa prepise tento zaznam.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
ano rozmyslal som, ze pomocou cookies, ale neviem ci na mobiloch funguje cookies rovnako ako v beznych browseroch, mozno to nakoniec vyriesim pomocou SESSION na serveri, a potom nemusim skumat cookies ani mobilne zariadenia.
|
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 | 9 |
session na serveri? session su client-side rovnako ako cookies, jediny rozdiel je ze sa drzia iba kym je stranka aktivna. a ano, cookies funguju rovnako aj na mobiloch.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Pomocou mod_rewrite sa dá presmerovať aj podľa UA a cookies a návodov, ako sa pomocou toho urobí presne to, čo chceš, je na internete kopec.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
mne staci PHP SESSION kym je stranka aktivna, nepotrebujem ukladat trvale do cookies alebo casovo obmedzovat.
Proste ked user pride z mobilu, checkne sa ci premenna v SESSION existuje, ak nie, tak hodi mobilnu verziu. Ak chce na mobile zobrazit normal verziu, po kliknuti sa ta premenna do SESSION zapise a bude to ok.
hatto13: PHP SESSION je podla teba client-side? Je pravda, ze uklada info aj do browsera, ale na rozdiel od cookies uklada SESSION aj na server...
|
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 | 9 |
neopagan: my bad, mas pravdu, su na serveri
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Čiže vždy keď príde na tú stránku, bude musieť kliknúť na link, aby sa mu zobrazila desktopová verzia?
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
iba ked pride z mobilu tam bude mat linku na desktopovu verziu.. tak to chce mat..
proste nacita sa mu mobilna verzia, ale s tou moznostou, ze si moze na mobile zobrazit aj normalnu verziu ak chce...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Lenže v momente ako server zahodí tú session (a skôr či neskôr sa tak stane, pretože inak by bolo veľmi jednoduché zaplniť celý disk vytváraním nových session) bude musieť ten návštevník znova zvoliť, že chce normálnu verziu (napriek tomu, že v jeho telefóne ešte stále bude cookie so session ID).
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
no otazne je kedy zanikne ta SESSION premenna... vacsinou sa to deje ked zatvoris browser, ale pokial viem tak rychlo zas nevyprsi SESSION, to by ta potom vyhadzovalo z portalov ci facebooku a zo vsadial kde sa vyzaduje login... co mam portaly, kde pouzivam SESSION na login, tak som lognuty hoci aj hodinu a SESSIOn nezanikne kym sa neodhlasim alebo nezavriem browser... pokial mu samozrejme nestanovim, aby sa po nejakej dobe nezrusil...
To by na tu stranku museli chodit stovky ludi kazdu hodinu, aby ta SESSION tak rychlo expirovala..a to nehrozi
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
takze vyriesil som to pomocou session, funguje to pekne - ak uzivatel pride z mobilu, otvori mu hned mobilnu verziu a ked z nej klikne na linku ze chce normal verziu, tak sa do session zapise hodnota a presmeruje na hlavnu stranku, kde skontroluje tuto session.
Problem bol s tym, ze mobilna stranka funguje ako subdomena, tak som pouzil par trikov na prenos session medzi domenou a subdomenou.
Teraz vsak mam problem, ze funguje to vsade, len v Chrome nie. Na mobile proste aj po zatvoreni stranky a aj celeho chrome browseru si stale pamata session a ked uz raz user klikol na linku, tak stale mu otvara normal verziu, kedze session sa po zatvoreni browsera nezmazalo...
Pomoze len ked manualne vymazem cache browsera... zatial som zistil ze to robi len chrome ...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Čo znamená, že si to urobil pomocou session?
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
no ze ked user na mobile klikne na linku ZOBRAZ NORMALNY WEB, tak definujem nejaku PHP SESSION. Potom na normalnom webe skuma ci tato SESSION existuje a ci prichadza user z mobilu... ak SESSION existuje tak zobrazi normal verziu aj ked je user z mobilu, ak SESSION neexistuje a zaroven user prichadza z mobilu, tak ho presmeruje na mobilnu verziu...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Keďže to inde funguje predpokladám, že Php posiela session cookie (štandardne je session.cookie_lifetime nastabené na 0) a problém bude nastavenie prehliadača. Píše sa o tom napr. tu: Chrome doesn't delete session cookies.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
ano cital som o tom... a chrome to ani neplanuje defaultne zmenit.. ale da sa to nastavit to hej. Hlavne ze to uz funguje.
|
|
Registrovaný: 20.05.15 Prihlásený: 28.10.17 Príspevky: 31 Témy: 1 | 1 Bydlisko: insideVim |
Nikdy som to neskúšal pretože podľa mňa je blbosť robiť nejakú samostatnú verziu stránky pre mobil. Určite by som radšej vytvoril responsive verziu pretože nebudeš mať zbytočné problémy s udržiavaním kópie webu a podľa môjho názoru to bude mať aj lepšiu user experience. Preto ma opravte ak sa mýlim...
V každom prípade myslím, že takýto redirect by si mohol dosiahnúť cez htaccess a detekovanie user agenta. Ako som ale písal konkrétne toto som ešte nikdy neskúšal takže ti nemôžem povedať viac, skús google na túto tému.
Druhá možnosť čo ma napadá je redirect cez JS kde by si spravil check napríklad na výšku / šírku okna a podľa toho sa zariadil (čo by ti ale nefungovalo na malom % užívateľov - ak nemajú js). V každom prípade tam by si mohol aj spraviť nejaký panel čo by zobrazoval, že tvoja stránka vyžaduje JS keď je off.
|
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 | 9 |
Justme: opravujem ta, lebo sa mylis to ci sa urobi rezponzivny dizajn alebo dve rozlicne verzie zalezi od typu stranky. Ak je to velky napr. velky portal a na mobile staci aby bola pristupna len urcita cast tak je efektivnejsie urobit dve rozdielne verzie S htaccess suhlasim, s js nie. S js preto nie, lebo ten sa nacitava az nakoniec a teda najprv by sa nacitala normalna webka a potom by sa to redirectlo na mobilnu... Skor priamo cez php na strane servera
|
|
Registrovaný: 20.05.15 Prihlásený: 28.10.17 Príspevky: 31 Témy: 1 | 1 Bydlisko: insideVim |
Aj tak si myslím, že je lepšie spraviť responsive verziu. Keby nechcem zobraziť časť webu užívateľom na mobile tak im jednoducho tú časť skryjem cez CSS a browser ich nebude vykresľovať (ani sa s tým nejako spomaľovať). Samozrejme, že by to bolo trocha pomalšie ako samostatná verzia ale myslím si, že + ďaleko prevažuje - v tomto prípade. Tak či tak to už nie je na mne, len som prispel svojimi centami...
PS: JS sa načítava hneď, záleží to od toho kde sa v stránke nachádza a či samotný script čaká na nejaký event (napr kompletné načítanie stránky). Dáva sa na spodok hlavne preto, že blokuje download podobne ako sa dáva css na vrch pretože blokuje render.
|
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 | 9 |
justme: 1. keby to bolo lepsie, tak preco by portaly ako napr. orange.sk robili dve verzie? uzivatel na mobile a na desktope sa sprava rozne, tak podla toho to prisposobili. a bolo lahsie urobit 1 desktopovu temu a 1 okresanu mobilnu ako 1 komplexnu responzivnu. s tym skryvanim v css -> pre jednoduchsiu mobilnu verziu musis stahovat rovnaky objem js a css a hlavne velke obrazky. a takisto si nebral do uvahy databazove requesty - priklad: napriek tomu ze ty v responzivnej verzii skryjes cez display none blok s clankami, tak server bude robit sql requesty na tie clanky a teda aj cas nacitavania sa predlzi. takze este raz ako som pisal, responzivny web je fajn a aj ja ho preferujem, ale zalezi od potreby danej webky.
2. to je jedno, tak ci tak musi tvoje zariadenie stiahnut data desktopovej verzie (kompletne alebo ciastocne) zo servera a potom redirect a druhykrat mobilnu verziu. ak to vyriesis na serveri tak data sa stahuju iba raz.
|
|
Registrovaný: 20.05.15 Prihlásený: 28.10.17 Príspevky: 31 Témy: 1 | 1 Bydlisko: insideVim |
Nie je to úplne pravda, sú technológie napr ako responsive obrázky ktoré ti vyberajú optimalizovanú verziu toho súboru pre dané zariadenie. Je samozrejme, že vo väčšine prípadov bude dedikovaná verzia trocha rýchlejšia, už som to spomínal. Ten rozdiel je ale tak malý, že udržanie DRY prostredia projektu je vo väčšine prípadov oveľa cennejšie. V každom prípade to, že ty máš inú voľbu ako napr ja je v poriadku. Je to tvoja vec a nikto ti do toho nemá čo rozprávať...
PS: To už sme ale celkom dosť mimo pôvodnú tému...
|
|
Stránka: 1 z 1
| [ Príspevkov: 22 ] | |
|