移动端获取屏幕宽度

Posted 大熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端获取屏幕宽度相关的知识,希望对你有一定的参考价值。

  • 移动端获取屏幕宽度

    目录:

    概述:

    今天聊一个开发移动端经常碰到的一个问题:如何获取屏幕宽度,获取屏幕的办法有很多,今天总结一下各个方法的优点、缺点。

    $(window).width():

    用jQuery或者zepto获取屏幕宽度的方法最为简单,但是在android平台上,有时会获取的不准确(为0),从而影响布局。在ios平台上还是很稳定。
    1
    var width = $(window).width();

    scrollWidth:

    根据我的经验,scrollWidth获取屏幕宽度还比较准,也比较稳定,但可能会有细微出入。
    1
    var width = document.body.scrollWidth;

    让平台返回屏幕宽度:

    我认为目前为止,最稳定,最准确的方法就是让平台返回屏幕宽度。但是要对返回的宽度稍做处理,因为平台返回的是系统的宽度,需要除以分辨率。
    1
    2
    var dpi = window.devicePixelRatio;//获取屏幕分辨率
    var width = sysWidth / dpi;//用系统返回宽度除以分辨率。
    此方法唯一的缺点就是比较麻烦,需要平台配合,所以以上3种方法各有利弊,大家自己取舍,我还是推荐让平台返回。

以上是关于移动端获取屏幕宽度的主要内容,如果未能解决你的问题,请参考以下文章

移动端页面利用好viewport,适配各种宽度屏幕

移动端 css实现自适应正圆 ( 宽高随着手机屏幕宽度自适应 )

移动端H5页面自适应手机屏幕宽度

移动端适配方案:js实现动态改变根元素的字体大小

swift常用代码片段

移动端设置input或者textarea宽度100%时不超出屏幕