zoukankan      html  css  js  c++  java
  • flexible.js移动端适配安卓高分辨不兼容问题

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

    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打不开我们的手机端网站………………换任何一个浏览器都不行……                                                       

  • 相关阅读:
    消息机制
    窗口!窗口!- Windows程序设计(SDK)003
    内联函数的作用
    结构体变量用 . 结构体指针用-> 的原因
    &a和a的区别
    分布电容
    介电常数
    天线
    封装的思想
    关于中断标志位
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/8259938.html
Copyright © 2011-2022 走看看