2014-04-17 16 views
12

kleinen Bildschirm zu erfassen, während für Responsive Design wartet auf den Weg in eine Legacy-Website zu finden, würde Ich mag einen Browser auf eine mobile Version umleiten, wenn der Bildschirm kleiner als 480pxneueste Methode

ist

Jagd um kam ich up mit

var isSmall = window.matchMedia ? 
       window.matchMedia("screen and (max-width: 480px)") : 
       screen.width<=480; 

Frage

ist das im Jahr 2014 akzeptabel ist oder gibt es eine bessere/sichere/neuere Methode zu tun, was ich will, ohne User-Agenten-Sniffing mit?

Referenzen

+1

Stellen Sie sicher, auf iPhone 4 zu überprüfen, da sie eine Bildschirmbreite von 640px haben, aber ihre Bildschirmbreite als 320px aus Legacy-Gründen melden. – gaynorvader

+0

Aber da sie MatchMedia unterstützen, soweit ich verstehe, gibt das vor der Verwendung von screen.width nicht false zurück? – mplungjan

+0

Fwiw, der leichte Vorteil, den Sie mit User Agent Sniffing haben ist, dass Sie diese Server-Seite tun können, was zu einer etwas schnelleren Erfahrung führt, da eine Weiterleitung kein Dokument enthält. Sie würden wahrscheinlich immer noch einen Cookie-basierten Wechsel zwischen Handy/Desktop wünschen. –

Antwort

0

Ja, es gibt viele Möglichkeiten, tricky :) Fenster wählen Breite, aber unser Team Ansicht, die Sie nicht haben, um irgendwelche Tricks sind nur zu wissen, windows.width weil jQuery eine .width() Funktion wie hat:

var window_width = $(window).width(); 
if(window_width <= 480){ 
    console.log(window_width); 
} 

Iphone 4S, Iphone 5, Iphone 5S Every One Bildschirmbreite ist 320px. Ihre mobile Auflösung ist nicht die Bildschirmbreite Ihres Handys. Wenn Sie also Ihre Tricks verwenden, um nur die Fensterbreite oder etwas anderes zu erfahren, erhöhen Sie einfach die Lastgeschwindigkeit Ihrer Anwendung. Dies wird ein Problem für Ihren Benutzer sein. Aber Sie wissen, dass das Problem des Designers war, warum sie die Designs für Entwickler & für Endbenutzer komplizieren. :)