2014-10-03 51 views
2

我有一個網站,我試圖在所有移動設備上完美地訪問網站。爲此我設置視口元像下面iOS 8看似忽略元視口初始規模

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

這似乎完全在大部分設備,但對iOS設備的作品,它似乎忽略中繼檢視區標記。我試着解決方法就像

1:加元標記與一些延遲

<body onload="javaScript:onloadHandler();">

<script type="text/javascript"> 
    function onloadHandler() { 
     var meta = document.createElement('meta'); 
     meta.setAttribute('name', 'viewport'); 
     meta.setAttribute('content', 'width=device-width; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.0; user-scalable=no;'); 
     document.getElementsByTagName('head')[0].appendChild(meta); 
     if (typeof window["bodyOnload"] != 'undefined') { 
      bodyOnload(); 
     } 
    } 
</script> 

結果:大多數時候,它不能正常顯示的縮放級別。有時頁面左上角。

  1. 根據設備像素比率計算比例尺,並將比例值用於初始比例。

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

結果:它不能正常顯示的縮放級別。

看起來問題是初始規模值。

有沒有人有任何想法,我可以如何使它與iOS 8正確的縮放比例?

編輯:

這個問題來自於iOS的8只當用戶試圖打開多個彈出窗口縮放問題發生。在iOS 8的彈出窗口中有一個錯誤。希望一旦Apple解決了彈出窗口的問題,就會解決縮放問題。

回答

0

此問題已通過8.1.2的新更新得到解決。