मोबाइल सफारी और एंड्रॉइड पर, यह मापने का एक सटीक तरीका है कि पृष्ठ ज़ूम किया गया है।
इसे आजमाएं: http://jsbin.com/cobucu/3 - ज़ूम बदलें और फिर मापें क्लिक करें।
<body>
<div id=measurer style="position:absolute;width:100%"></div>
और गणना का उपयोग करें::
function getZoom(){
return document.getElementById('measurer').offsetWidth/window.innerWidth;
}
समस्या सिर्फ पता लगाने के लिए कि उपयोगकर्ता ज़ूम बदल गया है एक साफ रास्ता खोजने है (चुटकी
तकनीक एक शीर्ष स्तर div जोड़ने के लिए है , डबल टैप, आदि)।विकल्प:
- webkitRequestAnimationFrame: बहुत विश्वसनीय है, लेकिन संभावना jankiness अगर एनिमेशन (प्रदर्शन हिट के कारण)
- setInterval का उपयोग कर पैदा करने के लिए: विश्वसनीय लेकिन बहुत बदसूरत
- स्पर्श इवेंट: दो अंगुलियों या डबल टैप के लिए देखो : बदसूरत और शायद मुश्किल बनाने के लिए 100% विश्वसनीय
- window.onresize + window.onorientationchange + window.onscroll: सरल लेकिन पूरी तरह अविश्वसनीय (संपादित करें: और Onscroll WKWebView या मोबाइल सफारी 8 या अधिक से अधिक में प्रदर्शन समस्याएं पैदा कर सकता)।
पुनश्च: विंडोज फोन एक अलग समाधान (- विंडोज पर पिंच-ज़ूम इसके खुद अलग व्यूपोर्ट कि जावास्क्रिप्ट को दिखाई नहीं देता है पिंच-ज़ूम व्यूपोर्ट परिवर्तन नहीं करता है) की जरूरत है।
google fastflip (http://fastflip.googlelabs.com/) ऐसा करता है, तो यह निश्चित रूप से संभव है – cobbal
कोई अपडेट आ रहा है? ;) – alex