SORU
1 NİSAN 2010, PERŞEMBE


Nasıl reset ölçek/iPhone oryantasyon değişikliği web app zoom yapabilirim?

Geçiriyorum aynı sorunu olan birkaç Diğerleri vardı ile almak en doğru davranış, bir web uygulaması üzerinde bir yönünü değiştirmek, ve orada yok görünüyor bariz bir çözüm gördüm bu soruyu sordum bir kaç kez Yığın Taşması ve kimse henüz mümkün cevaplıyorum.

Portre modunda uygulamayı başlatmak zaman, gayet iyi çalışıyor. O zaman ben de yatay çevirin ve büyütülecektir. Almak için doğru ölçek için peyzaj modu var çift dokunun bir şey iki kez, ilk Yakınlaştır tüm şekilde (normal çift dokunun davranış) ve tekrar Yakınlaştır tüm çıkış yolu (tekrar, normal çift dokunun davranış). Uzaklaştırır, doğru YENİ ölçek için yatay mod için yakınlaştırır.

Geri dikey geçiş daha tutarlı bir iş gibi görünüyor; yani, yönünü dikey olarak değişecektir zaman ölçeği doğru olması için zoom yapar.

Eğer bu bir hata olup olmadığını anlamaya çalışıyorum? ya eğer bu Javascript ile tespit edilebilir bir şey ise?

Görünüm penceresi meta içeriği ile, 1.0 başlangıç ölçekli belirliyorum ve minimum veya maksimum ölçek (bilmek de istemiyorum) ayarı DEĞİLİM. Cihaz genişliğiyle belirliyorum.

Herhangi bir fikir? Bir sürü insan kalıcı bir sorun gibi görünüyor bir çözüm için minnettar olacağını biliyorum.

Teşekkür ederim!

CEVAP
16 HAZİRAN 2011, PERŞEMBE


Jeremy Keith (@adactio) onun blog Orientation and scale Bu iyi bir çözüm vardır

Biçimlendirme maksimum çaplı bir ayar değil Biçimlendirme ölçeklenebilir tutun.

<meta name="viewport" content="width=device-width, initial-scale=1">

Sonra devre dışı ölçülebilirlik yükü kadar javascript ilegesturestartölçülebilirlik bu komut ile tekrar izin verdiğinizde:

if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
    var viewportmeta = document.querySelector('meta[name="viewport"]');
    if (viewportmeta) {
        viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
        document.body.addEventListener('gesturestart', function () {
            viewportmeta.content = 'width=device-width, minimum-scale=0.25, maximum-scale=1.6';
        }, false);
    }
}

Güncelleme 22-12-2014:
Bir iPad 1 Bu çalışmıyor, eventlistener başarısız. .body kaldırma düzeltmeleri de bunu buldum:

document.addEventListener('gesturestart', function() { /* */ });

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • Peyton

    Peyton

    28 Aralık 2008