2012-02-28 17 views

Odpowiedz

40

The viewport wymiary mogą być zbierane za pośrednictwem obiektu window:

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

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

Choć nie zawsze uzyskać doskonałe rezultaty, różne urządzenia zachowują się inaczej, a to daje viewport wymiary, a nie wymiar ekranu.

Ewentualnie można sprawdzić szerokość elementu data-role="page" aby znaleźć device-width (ponieważ jest ustawiona na 100% z device-width):

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

Hej jaspis muszę dostać tę szerokość urządzenia w tak, że mogę umieścić myWidth tak jak tutaj

+0

@Coder_sLaY Następnie udać się z moim pierwszym przykładzie. '$ („# Zastępczy”) Szerokość ($ (okno). width()); '. – Jasper

+0

Skrzypce jquery jest teraz martwe. Czy możesz zaktualizować swoją odpowiedź, aby była przydatna przyszłym użytkownikom? – SpringLearner

16

Nie wiesz, że proponowane rozwiązanie działa zgodnie z oczekiwaniami. Jesteś pewien, że masz prawdziwą szerokość urządzenia?

Używam następujący kod w mojej aplikacji i działa prawidłowo:

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; 
} 

Nadzieję, że może komuś pomóc!

+0

to świetna funkcja. to mi pomogło. ale żeby uzyskać dobrą szerokość dla mnie, odwracam: var deviceWidth = window.orientation == 0? window.screen.height: window.screen.width; – Mimouni

+0

Działa świetnie! Musiałem również odwrócić warunkowe oświadczenie, jak wspomniane llyas, a następnie działa. – finitenessofinfinity

Powiązane problemy