Ich bin ein Befürworter von Responsive Web Design in Verbindung mit Adaptive Web Design (dh ein Design, das die Anzeige für alle Geräte anpasst und Inhalte basierend auf der Größe des Ansichtsports bereitstellt) im Gegensatz zu separaten Designs für mobile Websites.
Es gibt einige Nachteile, zum Beispiel bei großen Bildschirmen. Ich möchte einige Module einbinden, die für kleinere Ansichtsfenster ausgeblendet werden. Jedoch in dem Fall , in dem ein Modul versteckt basiert auf der Anzeigengröße, Laden und das Modul der Ausführung bewirkt eine unnötigen Leistungseinbußen , wenn bekannt ist , dass das spezifische Modul wird nie in einer kleineren Darstellungsgröße angezeigt werden.
Wie kann ich die Größe von Ansichtsfenstern verwenden, um ein Modul effektiv zu deaktivieren (dh die Ausführung zu stoppen), um die Leistung zu beschleunigen?
Ich denke nicht, dass Sie solche Module deaktivieren und es dennoch als responsives Design bezeichnen sollten. Ein Aspekt von responsive ist, dass es auf Änderungen im Ansichtsfenster reagiert und nicht nur ein anderes Layout für verschiedene Bildschirmgrößen druckt.
Abhängig von der Bildschirmgröße des Beispiels kann es vorkommen, dass ein Tablet im Hochformat das Modul nicht lädt, dass dasselbe Tablet diesen Inhalt jedoch möglicherweise einmal im Querformat benötigt.
quelle
Dies ist eine JS-Klasse, die ich vor einiger Zeit erstellt habe und die JavaScript zum Erkennen von Ansichtsfenstern verwenden konnte. Sie wurde noch nie strengen Tests unterzogen, funktioniert aber.
Grundsätzlich benutzt du es so
Haltepunkt hat Min / Max-Parameter für Breite, dann eine verkettete Funktion zum Eingeben und Verlassen, mit einem Rückruf, um etwas JS-Code auszuführen.
Ich kann nicht im Detail erläutern, wie es funktioniert, da ich es vor so langer Zeit gemacht habe, aber Sie können es kostenlos verwenden, wenn es helfen wird. Dies kann verwendet werden, um Module basierend auf dem Ansichtsfenster über Ajax zu laden. Ich glaube, mit joomlas com_ajax können einige wirklich coole Funktionen erstellt werden.
quelle
Eine andere Lösung:
Sie können eine serverseitige Geräteerkennung wie diese verwenden: http://mobiledetect.net/ hier das Joomla-Plugin http://www.yagendoo.com/de/blog/free-mobile-detection-plugin-for-joomla.html und erweitern Sie dann die joomla / templates / yourtemplate / html / modules.php mit Ihrem eigenen mod_chrome-Stil. Dann können Sie beliebig viele PHP if-Anweisungen für jedes Gerät oder jede Auflösung schreiben.
quelle
Wenn Sie die Leistung steigern möchten, laden Sie keine unnötigen Module. Wenn es auf kleinen Bildschirmen nicht erforderlich ist, ist es auch auf größeren Bildschirmen nicht erforderlich.
Menschen mit größeren Gerätedisplays möchten auch eine schnelle Website, auf der keine unnötigen Daten geladen werden. Sie gehen fälschlicherweise davon aus, dass auf größeren Bildschirmen mehr Bandbreite zur Verfügung steht. Sie tun es nicht.
Seien Sie ein guter Designer und geben Sie Ihren Benutzern unabhängig von der Bildschirmgröße eine optimierte Website-Erfahrung.
quelle
Ich würde vorschlagen, dass Browser-Sniffing der falsche Weg ist, um hierher zu kommen. Wenn Sie wirklich nur Module basierend auf der Bildschirmbreite laden möchten, müssen Sie Javascript ausführen, das dann das Modul von AJAX (com_ajax) aufruft. Beachten Sie, dass sich die Suchmaschinenoptimierung für von AJAX geladene Inhalte auszahlen kann.
quelle
Im Allgemeinen verwende ich css @media, um dies zu ermöglichen. Macht es einfach, Dinge abhängig von der Bildschirmgröße auszublenden und sie analysieren zu lassen, wenn ein Querformat-Tablet breit genug ist, um sie anzuzeigen, und die Hochformat-Breite nicht. Hier ist ein Beispiel:
Normalerweise verwende ich dies, um eine gesamte Modulposition auszublenden, sodass ich meinen CSS-Selektor auf den Wrapper dieser Position (oder Positionen in einigen Vorlagen) stütze.
quelle
Sie können es bei Bedarf mit JavaScript laden, das com_ajax aufruft und nur die Module für die aktuelle Größe zurückgibt.
quelle
Sie können das Modulsuffix in Kombination mit Medienabfragen verwenden. In vielen Vorlagen-Frameworks ist dies bereits integriert, sodass Sie eine Klasse von "versteckten Telefonen" hinzufügen können, damit sie nicht auf Mobilgeräten angezeigt werden. Sie nennen sie CSS Helper Klassen:
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
quelle