首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Phonegap/JQuery mobile中以编程方式查找设备宽度

如何在Phonegap/JQuery mobile中以编程方式查找设备宽度
EN

Stack Overflow用户
提问于 2012-02-28 13:48:14
回答 2查看 82.1K关注 0票数 18

我需要找到移动设备的设备宽度。尽管我们可以指定内容

<meta name="viewport" content="width=device-width; user-scalable=no" />

但我需要以编程方式获得设备宽度,以便在应用程序中计算一些逻辑。如何获取设备宽度?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-28 13:51:29

可以通过window对象收集viewport维度:

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

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

虽然你不会总是得到完美的结果,但不同的设备表现不同,这就给出了viewport的尺寸,而不是屏幕的尺寸。

或者,您可以检查data-role="page"元素的宽度以找到device-width (因为它被设置为100% of device-width):

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

Stack Overflow用户

发布于 2014-06-03 22:56:19

不确定提出的解决方案是否如预期的那样工作。你确定你得到了真正的设备宽度吗?

我在我的应用程序中使用了以下代码,它工作得很好:

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

希望它能帮助到一些人!

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9477028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档