前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flexible.js移动端适配安卓高分辨不兼容问题

flexible.js移动端适配安卓高分辨不兼容问题

作者头像
蓓蕾心晴
发布2018-04-12 14:43:32
2.3K0
发布2018-04-12 14:43:32
举报
文章被收录于专栏:前端小叙前端小叙

根据网上找到的解决办法,对于安卓设备,把dpr=1改为当前设备的dpr

代码语言:javascript
复制
if (!dpr && !scale) {
        if (isIPhone) {
            // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案
            if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
                dpr = 3;
            } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){
                dpr = 2;
            } else {
                dpr = 1;
            }
        } else {
            // 其他设备下,仍旧使用1倍的方案
            // dpr = 1;
           // 其他设备下,改为使用设备当前的dpr
            dpr = devicePixelRatio;
        }
        scale = 1 / dpr;
    }    

这时候会不会发现有些安卓机可以正常显示,有些安卓机显示样式反而特别小呢?其实有一点一定要注意,在代码中,我们可能针对不同dpr的设备设定了不同的样式,比如图片、宽高、字体大小等,这时候就要考虑到安卓可能的dpr了,否则这些针对性的样式必然会按默认的dpr=1的样式来展示的。比如下面是我默认写的font-size

目前只是测了一部分安卓机,没有出现问题,dpr=2.75 是 小米 mix,dpr=4 是三星s6 edge ,我看网上安卓应该还有dpr=1.5的情况,目前我还没遇到。所以一定要写多种方案,否则,安卓的样式真的就跪 了…………………………

这里有一片文章写的比较好,可以推荐阅读:http://blog.csdn.net/a0405221/article/details/78913714

https://www.cnblogs.com/ling-du/p/4623623.html

http://mdsa.51cto.com/art/201507/484215_2.htm

在测试过程中还发现一个问题,vivo打不开我们的手机端网站………………换任何一个浏览器都不行……                                                       

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档