2012-02-28 9 views

Respuesta

40

Los viewport dimensiones se puede deducir a través del objeto window:

var viewport = { 
    width : $(window).width(), 
    height : $(window).height() 
}; 

//can access dimensions like this: 
//viewport.height 

A pesar de que no siempre se obtendrá un resultado perfecto, diferentes dispositivos se comportan de manera diferente y esto da las dimensiones viewport, no las dimensiones de la pantalla.

Alternativamente se puede comprobar el ancho de un elemento de data-role="page" para encontrar el device-width (ya que se establece en 100% del device-width):

var deviceWidth = 0; 
$(window).bind('resize', function() { 
    deviceWidth = $('[data-role="page"]').first().width(); 
}).trigger('resize');​​​ 
+0

Hey Jasper Necesito conseguir este ancho del dispositivo en de modo que pueda colocar como myWidth como aquí

+0

@Coder_sLaY luego ir con mi primer ejemplo:. '$ ('# Marcador de posición') Ancho ($ (ventana). ancho()); '. – Jasper

+0

El violín jquery está muerto ahora. ¿Puede actualizar su respuesta para que sea útil para los usuarios futuros – SpringLearner

16

No estoy seguro de que la solución propuesta funciona como se esperaba. ¿Estás seguro de que obtienes el ancho real del dispositivo?

estoy usando el siguiente código en mi aplicación y funciona bien:

function effectiveDeviceWidth() { 
    var deviceWidth = window.orientation == 0 ? window.screen.width : window.screen.height; 
    // iOS returns available pixels, Android returns pixels/pixel ratio 
    // http://www.quirksmode.org/blog/archives/2012/07/more_about_devi.html 
    if (navigator.userAgent.indexOf('Android') >= 0 && window.devicePixelRatio) { 
     deviceWidth = deviceWidth/window.devicePixelRatio; 
    } 
    return deviceWidth; 
} 

esperan que los pueda ayudar a alguien!

+0

esta una gran función. esto me ayudó. pero para obtener el buen ancho para mí, invierto: var deviceWidth = window.orientation == 0? window.screen.height: window.screen.width; – Mimouni

+0

¡Funciona muy bien! También necesité invertir el enunciado condicional como llyas mencionado y luego funciona. – finitenessofinfinity

Cuestiones relacionadas