Z archiwum x

Mobilny blog


Obecnie jestem na etapie stworzenia mobilnej wersji bloga i niestety nie jest tak prosto, jak się myślało na początku.

Idea polegała na tym, aby stworzyć kolejny styl, dostosowany do urządzeń mobilnych o max rozdzielczości 320px i wstawić to jako media=”handheld” – wedle przyjętych standardów. O ile teoria jest ciekawa, to w praktyce ma się to inaczej (niczym proza życia).

Cała sprawa jest związana z natywnymi i zewnętrznymi przeglądarkami, takie jak MiniMap czy OperaMini. Te w/w przeglądarki mimo, że są mobilnymi przeglądarkami, to domyślnie mają ustawione media=”screen” i wynik pracy jest zupełnie inny od założenia.
Ale skoro nowoczesne przeglądarki mają obsługę JavaScript i AJAX, to można wymusić wczytanie odpowiedniego arkusza CSS – oczywiscie z pomocą przychodzi

navigator.userAgent

i sprawę mamy prowizorycznie załatwioną, do momentu, kiedy trzeba wiedzieć, pod jakimi identyfikatorami występują te przeglądarki. Dla przykładu mam opisane Iphone, Ipoda, Opera Mini czy SymbianOS ale w rzeczywistości jest ich znacznie więcej i póki co, to te są najbardziej praktykowane w Polsce.
Wada? W momencie braku wsparcia dla skryptów JS, przeglądarka nie wczytuje tego mobilnego arkusza.

Oprócz arkuszy CSS, również ważne jest semantyka i porządek w kodzie, tak, żeby nie generował niepotrzebnej treści i nadmiaru wagi wczytywanej strony www. W przypadku strony optymalizowanej specjalnie pod kątem urządzeń mobilnych problem nie istnieje,natomiast w przypadku normalnej strony, to pojawia sie problem z grafiką i innymi małoistotnymi elementami – oczywiscie można deaktywować, ale i tak bedą wczytane.

Weźmy na przykład wygląd mojego bloga – w większości jest oparte na stylach z niewielką ilością skompresowanej grafiki, nie zapominając o Mootools’ie i jego wtyczkach, które relatywnie ważą sporo. Problem z Mootoolsem można rozwiązać poprzez zastosowanie wspomnianej wcześniej detekcji przeglądarek i do tego zmierzam.

 Ogólnie to mobilne przeglądarki są dość dziwne, bo skoro są przeznaczone do mobilnych stron, to najwyższy priorytet powinny mieć właśnie te arkusze z atrybutem media=”handheld” a nie jak „screen”.
Cóż, life is a bitch ;)

Techniczne
Zostałem mistrzem Zenbox
Techniczne
[aktualizacja] Płatny Disqus? Nie, na szczęście nie
Z archiwum x
Skorzecin 3 lata później – Skoj dla młodych

5
Dodaj komentarz

avatar
5 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
KtosbobikoWasacz Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
Wasacz
Gość

Opera Mini akceptuje media=screen, wtedy, jeśli nie ma media=handheld. Zwróć uwagę, że tylko garstka stron ma osobne arkusze dla różnych mediów. Poza tym w Operze Mini jest jeszcze tryb SSR.

Detekcja przeglądarki, i to na dodatek w JS, to jeden z najbardziej idiotycznych pomysłów, wybacz ;)

http://google.com/gwt/n?u=http://bobiko.jogger.pl/

bobiko
Gość

Wasacz
Zdaje sobie sprawe z tego, że detekcja via js jest idiotyczna jednak mając bloga na joggerze, nic innego nie jestes w stanie zrobić. No chyba że o czymś nie wiem.
Wracając do OperaMini, to nie jest tak jak piszesz wyżej – w dev.opera wyraźnie napisano że docelowo mobilne produkty Opery mają wczytywać media screen. Czyli nie jest tak jak myślisz, ba nawet wczoraj testowałem zarówno z poziomu przeglądarki MiniMap i jak OperaMini i niestety styl oznaczony jako media=handheld został pominięty.
Dla testu http://www.htmldog.com/test/handheld.html.

Jeśli ustawisz w opera mini, aby wczytywało inaczej, tzn. nie jako strone web a tylko w skomniejszej postaci to oczywiści zadziała.

Hmm ssr. mógłbyś podać jakieś przykłady działania?

ogólnie dzięki za odezw :)

Ktos
Gość

Ajaksowi w przeglądarkach mobilnych mówimy nie. Znaczy się chciałem powiedzieć: w Internet Explorer Mobile 5 nie działa/nie działa zawsze.

Wasacz
Gość

Faktycznie, domyślnie Opera Mini 4 zachowuje się jak desktop. Ale przy włączonym „Mobile view” w opcjach jest już ok, więc jak komuś zależy na kosztach, to sobie tę opcję włączy, więc raczej nie ma sensu tego na nim wymuszać.

„Mobile view” akceptuje tylko media=handheld i wykorzystuje Small Screen Rendering. Generalnie – jeśli ktoś chce na Operze Mini oglądać strony jak na desktopie to czemu wymuszać na nim handheld – i odwrotnie?

PS Nie dałoby się przenieść formularza dodawania komentarzy na dół strony?

bobiko
Gość

@wasacz – formularz jest juz na dole ;)

%d bloggers like this: