İOS 10'da safari'de web sayfası ölçeklendirmesini önlemek mümkündür, ancak sizin açınızdan daha fazla çalışma gerektirecektir. Argüman, bir derece zorluğun, kargo-kült geliştiricilerinin her kullanıcı portu etiketine "user-scalable = no" düşürmesini ve görme engelli kullanıcılar için gereksiz yere zor hale getirmesini durdurması gerektiğidir.
Yine de, Apple'ın uygulamalarını değiştirdiğini görmek istiyorum, böylece yakınlaştırmak için çift dokunmayı devre dışı bırakmanın basit (meta-tag) bir yolu var. Zorlukların çoğu bu etkileşim ile ilgilidir.
Tutam-yakınlaştırmayı aşağıdaki gibi bir şeyle durdurabilirsiniz:
document.addEventListener('touchmove', function (event) {
if (event.scale !== 1) { event.preventDefault(); }
}, false);
Daha derin hedefler olayda stopPropagation'ı çağırırsa, olayın belgeye ulaşmayacağını ve ölçekleme davranışının bu dinleyici tarafından engellenmeyeceğini unutmayın.
Yakınlaştırmak için çift dokunmayı devre dışı bırakmak benzerdir. Belgedeki herhangi bir dokunmayı önceki dokunmadan 300 milisaniye içinde devre dışı bırakırsınız:
var lastTouchEnd = 0;
document.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
Form öğelerinizi doğru şekilde ayarlamazsanız, bir girişe odaklanmak otomatik yakınlaştırma yapar ve çoğunlukla manuel yakınlaştırmayı devre dışı bıraktığınız için, şimdi unzoom'un açılması neredeyse imkansız olacaktır. Giriş yazı tipi boyutunun> = 16 piksel olduğundan emin olun.
Bunu yerel bir uygulamadaki bir WKWebView'de çözmeye çalışıyorsanız, yukarıda verilen çözüm uygulanabilir, ancak bu daha iyi bir çözümdür: https://stackoverflow.com/a/31943976/661418 . Diğer yanıtlarda belirtildiği gibi, iOS 10 beta 6'da Apple şimdi meta etiketi onurlandırmak için bir bayrak sağladı.
Mayıs 2017 Güncellemesi: Sıkıştırma yakınlaştırmayı devre dışı bırakma için eski 'dokunmatik başlangıçta dokunma uzunluğunu kontrol et' yöntemini daha basit bir 'check event.scale on touchmove' yaklaşımıyla değiştirdim. Herkes için daha güvenilir olmalı.