Iphone iOS 8似乎忽略了元视口初始比例

Iphone iOS 8似乎忽略了元视口初始比例,iphone,ios8,viewport,Iphone,Ios8,Viewport,我有一个网站,我正试图在所有移动设备上完美地访问该网站。为此,我设置viewport meta如下所示 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 它似乎在大多数设备上都能完美工作,但在iOS设备上,它似乎忽略了元视口标记。我试过像这样的变通办法 1:添加了meta标签,但有一些延迟 函数onload

我有一个网站,我正试图在所有移动设备上完美地访问该网站。为此,我设置viewport meta如下所示

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

它似乎在大多数设备上都能完美工作,但在iOS设备上,它似乎忽略了元视口标记。我试过像这样的变通办法

1:添加了meta标签,但有一些延迟


函数onloadHandler(){
var meta=document.createElement('meta');
setAttribute('name','viewport');
setAttribute('content','width=设备宽度;初始刻度=1.0;最小刻度=1.0;最大刻度=1.0;用户刻度=no;');
document.getElementsByTagName('head')[0].appendChild(meta);
如果(窗口类型[“bodyOnload”]!=“未定义”){
bodyOnload();
}
}
结果:大多数情况下,它无法正确显示缩放级别。有时页面位于左上角

  • 根据设备像素比率计算比例,并将该比例值用于初始比例

    <script type="text/javascript"> 
    
    var scale = 1 / window.devicePixelRatio;
    
    var viewportTag = "<meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=" + scale + ", maximum-scale=1, user-scalable=no\"/>";     
    
    document.write(viewportTag);        
    
    </script>
    
    
    var scale=1/window.devicePixelRatio;
    var viewportTag=“”;
    document.write(viewportTag);
    
  • 结果:无法正确显示缩放级别

    看起来问题在于初始比例值

    有没有人知道我如何使用iOS 8将其调到正确的缩放级别

    编辑:


    这个问题来自iOS 8。只有当用户尝试打开多个弹出窗口时,才会出现缩放问题。iOS 8的弹出窗口有一个bug。希望在Apple通过弹出窗口解决问题后,缩放问题将得到解决。

    此问题通过8.1.2的新更新得到解决

    <script type="text/javascript"> 
    
    var scale = 1 / window.devicePixelRatio;
    
    var viewportTag = "<meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=" + scale + ", maximum-scale=1, user-scalable=no\"/>";     
    
    document.write(viewportTag);        
    
    </script>