Gibt es eine Möglichkeit, die Gerätebreite des Benutzers im Gegensatz zur Breite des Ansichtsfensters mithilfe von Javascript zu ermitteln?
CSS-Medienabfragen bieten dies, wie ich sagen kann
@media screen and (max-width:640px) {
/* ... */
}
und
@media screen and (max-device-width:960px) {
/* ... */
}
Dies ist nützlich, wenn ich Smartphones im Querformat anvisiere. Unter iOS zielt eine Deklaration von beispielsweise sowohl auf den Quer- als max-width:640px
auch auf das Hochformat ab, auch auf ein iPhone 4. Soweit ich das beurteilen kann, ist dies bei Android nicht der Fall. Die Verwendung der Gerätebreite in diesem Fall zielt also erfolgreich auf beide Ausrichtungen ab. ohne auf Desktop-Geräte abzuzielen.
Wenn ich jedoch eine Javascript-Bindung basierend auf der Gerätebreite aufrufe, beschränke ich mich anscheinend darauf, die Breite des Ansichtsfensters zu testen. Dies bedeutet einen zusätzlichen Test wie im Folgenden:
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Dies erscheint mir angesichts des Hinweises, dass die Gerätebreite für CSS verfügbar ist, nicht elegant.
Modernizr
kann Ihnen dabei "auf saubere und generische Weise" helfen : stackoverflow.com/questions/25935686/… . Zum ersten Kommentar: Vielleicht möchten Sie "Modernizr vs <otherLib> Medienabfrage" googeln, um herauszufinden, was für Ihren Anwendungsfall am besten funktioniert