IOS 10 पर सफारी में वेबपेज स्केलिंग को रोकना संभव है, लेकिन यह आपके हिस्से पर अधिक काम करने वाला है। मुझे लगता है कि तर्क यह है कि कठिनाई की एक डिग्री कार्गो-पंथ के देवों को "व्यू-स्केलेबल = नहीं" को हर व्यूपोर्ट टैग में छोड़ने और दृष्टि-बाधित उपयोगकर्ताओं के लिए अनावश्यक रूप से कठिन बनाने से रोकना चाहिए।
फिर भी, मैं यह देखना चाहूंगा कि Apple अपने कार्यान्वयन को बदल दे ताकि डबल-टैप-टू-ज़ूम को अक्षम करने का एक सरल (मेटा-टैग) तरीका हो। अधिकांश कठिनाइयाँ उस सहभागिता से संबंधित हैं।
आप कुछ इस तरह से पिन-टू-जूम को रोक सकते हैं:
document.addEventListener('touchmove', function (event) {
if (event.scale !== 1) { event.preventDefault(); }
}, false);
ध्यान दें कि यदि घटना पर कोई गहरा लक्ष्य स्टॉपप्रोपैजेशन कहता है, तो घटना दस्तावेज़ तक नहीं पहुंचेगी और स्केलिंग व्यवहार को इस श्रोता द्वारा रोका नहीं जाएगा।
डबल-टैप-टू-ज़ूम को अक्षम करना समान है। आप पूर्व टैप के 300 मिली सेकेंड के भीतर होने वाले दस्तावेज़ पर किसी भी टैप को अक्षम कर देते हैं:
var lastTouchEnd = 0;
document.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
यदि आप अपने फॉर्म एलिमेंट्स को सही सेट अप नहीं करते हैं, तो एक इनपुट पर ध्यान केंद्रित करना ऑटो-जूम होगा, और चूंकि आपके पास ज्यादातर मैनुअल जूम अक्षम है, इसलिए अब इसे अनज़ूम करना लगभग असंभव होगा। सुनिश्चित करें कि इनपुट फ़ॉन्ट का आकार> = 16px है।
यदि आप मूल एप्लिकेशन में WKWebView में इसे हल करने का प्रयास कर रहे हैं, तो ऊपर दिया गया समाधान व्यवहार्य है, लेकिन यह एक बेहतर समाधान है: https://stackoverflow.com/a/31943976/661418 । और जैसा कि अन्य उत्तरों में उल्लेख किया गया है, iOS 10 बीटा 6 में, Apple ने अब मेटा टैग को सम्मानित करने के लिए एक ध्वज प्रदान किया है।
मई 2017 को अपडेट करें: मैंने पुराने 'चेक टच टचस्ट पर लंबाई को बदल दिया है' पिनच-जूम को अक्षम करने के तरीके को एक सरल 'चेक इवेंट। टचलेव' दृष्टिकोण पर देखें। सभी के लिए अधिक विश्वसनीय होना चाहिए।