Mam stronę internetową, w której w wersji na komputery wyświetla się pasek boczny zawierający od 10 do 20 małych zdjęć. Do tej pory na urządzeniach mobilnych ten pasek był po prostu ukryty za pomocą display: none
, co jest najmniej wydajnym rozwiązaniem, ponieważ wszystkie obrazy i tak zostaną załadowane.warunkowo wyświetl treść na podstawie zapytania o media
Zastanawiam się teraz, jaki jest najlepszy sposób na całkowite wyłączenie paska bocznego na urządzeniach mobilnych (bez użycia osobnego żądania AJAX).
Najlepszym rozwiązaniem mogłoby myślę jest następujące:
- Wpisz kod HTML na pasku bocznym w zmiennej JavaScript
- testu szerokość urządzenia poprzez sprawdzenie zapytania mediów z JavaScript (np używając
Modernizr.mq
lub więcej) - Jeżeli ten test daje urządzenie nie komórkowej, zapis zawartości zmiennej w DOM, na przykład za pomocą
innerHTML
,jQuery.append
,jQuery.prepend
lub podobnego
Wiem, że wydajność RWD może czasami być bardzo skomplikowanym tematem i że najbardziej wydajne rozwiązanie często nie jest oczywiste. Czy ktoś może pomyśleć o lepszym rozwiązaniu niż przedstawione powyżej?
Myślę, że to dobre rozwiązanie ... możesz użyć wtyczki jQuery.mobile.js, aby dowiedzieć się, czy urządzenie trafia na witrynę mobilną, czy nie, za pomocą prostego 1-wierszowego wyrażenia if. – tymeJV