Jestem zwolennikiem Responsive Web Design w połączeniu z Adaptive Web Design (tj. - jednym projektem, który dostosowuje wyświetlanie dla wszystkich urządzeń i zapewnia zawartość na podstawie rozmiaru portu widoku), w przeciwieństwie do oddzielnych projektów stron „mobilnych”.
Istnieją pewne wady, na przykład w przypadku dużych wyświetlaczy. Chciałbym uwzględnić niektóre moduły, które będą ukryte dla mniejszych rozmiarów rzutni. Jednak w przypadku, gdy moduł jest ukryty w oparciu o rozmiar rzutni, załadowanie i wykonanie tego modułu powoduje niepotrzebne obniżenie wydajności, gdy wiadomo, że określony moduł nigdy nie będzie wyświetlany w mniejszym rozmiarze rzutni.
Jak mogę użyć rozmiaru rzutni, aby skutecznie wyłączyć moduł (tj. Zatrzymać jego wykonywanie) w celu przyspieszenia wydajności?
Nie sądzę, że powinieneś wyłączać takie moduły i nadal nazywać to responsywnym projektowaniem. Czułość polega na tym, że reaguje na zmiany rzutni, a nie tylko drukuje inny układ dla różnych rozmiarów ekranu.
W zależności od przykładowych rozmiarów ekranu możliwe jest, że tablet w trybie pionowym spowoduje, że moduł się nie załaduje, ale wtedy ten sam tablet może potrzebować tej zawartości raz w trybie poziomym.
źródło
Jest to klasa JS, którą stworzyłem jakiś czas temu, która może używać javascript do wykrywania rzutni, nigdy nie została poddana rygorystycznym testom, ale działa.
Zasadniczo używasz go w ten sposób
Punkt przerwania ma parametry min./maks. Dla szerokości, a następnie łańcuchową funkcję wprowadzania i wychodzenia, z wywołaniem zwrotnym do uruchomienia kodu JS.
Nie mogę szczegółowo opisać, jak to działa, ponieważ zrobiłem to tak dawno temu, ale możesz go użyć, jeśli to pomoże. Można tego użyć do załadowania modułów poprzez ajax na podstawie rzutni. Wierzę, że com_ajax joomla może być używany z tym, aby stworzyć naprawdę fajne funkcje.
źródło
Inne rozwiązanie:
Możesz użyć wykrywania po stronie serwera w następujący sposób: http://mobiledetect.net/ tutaj wtyczka Joomla http://www.yagendoo.com/en/blog/free-mobile-detection-plugin-for-joomla.html a następnie rozszerz joomla / templates / yourtemplate / html / modules.php o własny styl mod_chrome. Następnie możesz napisać tyle php, jeśli lubisz instrukcje dla dowolnego urządzenia lub rozdzielczości.
źródło
Jeśli chcesz przyspieszyć działanie, nie ładuj niepotrzebnych modułów. Jeśli nie jest to konieczne na małych ekranach, nie jest również konieczne na większych ekranach.
Ludzie z większymi wyświetlaczami urządzeń również chcą szybkiej witryny, która nie ładuje zbędnego cruftu. Przyjmujesz błędne założenie, że większe ekrany mają dostępną większą przepustowość. Oni nie.
Bądź dobrym projektantem i zapewnij wszystkim użytkownikom zoptymalizowaną obsługę witryny, niezależnie od wielkości ekranu.
źródło
Sugerowałbym, że wąchanie przeglądarki jest niewłaściwą drogą do przejścia tutaj. Jeśli naprawdę chcesz ładować moduły tylko na podstawie szerokości ekranu, musisz uruchomić javascript, który następnie wywołuje moduł przez AJAX (com_ajax). Pamiętaj, że optymalizacja wyszukiwarek pod kątem treści ładowanych przez AJAX może być opłacalna.
źródło
Zazwyczaj używam css @media, aby tak się stało. Ułatwia ukrywanie rzeczy w zależności od rozmiaru ekranu i analizowanie ich w sytuacjach, gdy tablet poziomy jest wystarczająco szeroki, aby go pokazać, a szerokość pionowa nie. Oto przykład:
Zwykle używam tego, aby ukryć całą pozycję modułu, więc opieram mój selektor css na opakowaniu tej pozycji (lub pozycji w niektórych szablonach).
źródło
Możesz załadować go na żądanie za pomocą jakiegoś javascript, który wywołuje com_ajax i zwraca tylko moduły dla bieżącego rozmiaru.
źródło
Możesz użyć sufiksu modułu w połączeniu z zapytaniami o media. Wiele ram szablonów ma już tę wbudowaną funkcję, w której można dodać klasę „ukrytego telefonu”, aby nie wyświetlały się na urządzeniach mobilnych. Nazywają je klasami CSS Helper:
GANTRY: http://www.gantry-framework.org/documentation/joomla/advanced/responsive_grid_system.md
WARP: http://www.yootheme.com/blog/2012/06/12/warp-gets-responsive
źródło