SORU
27 Ocak 2011, PERŞEMBE


Ne'algılamak için en iyi yolu s 'dokunmatik ekran' aygıt JavaScript kullanarak?

Bir jQuery hem masaüstü hem de mobil cihazlarda kullanılması için eklenti yazdım. Eğer JavaScript ile bir şekilde, dokunmatik ekran özelliğine sahip olup olmadığını tespit etmek için olup olmadığını merak ettim. Jquery-mobile.js dokunmatik ekran olayları ve çalışır iOS, Android vb. tespit etmek için kullanıyorum aynı zamanda koşullu ifadeler, kullanıcının dokunmatik bir ekrana sahip olmasına göre yazmak istiyorum.

Bu mümkün mü?

CEVAP
27 Ocak 2011, PERŞEMBE


Bu fonksiyonu kullanmadan denediniz mi? (Bu kullanım Modernizr) aynıdır

function is_touch_device() {  
  try {  
    document.createEvent("TouchEvent");  
    return true;  
  } catch (e) {  
    return false;  
  }  
}

GÜNCELLEME:

document.createEvent("TouchEvent") en son chrome (v. 17) true dönmeye başladı. Modernizr bir süre önce güncellendi. Check Modernizr test out here.

Göreviniz bu, iş yapmak gibi güncelleme:

function is_touch_device() {
  return !!('ontouchstart' in window);
}

GÜNCELLEME:

Yukarıdaki IE10 (MS Yüzeyinde yanlış dönen) çalışmadığını fark ettim. Burada düzeltme:

function is_touch_device() {
  return 'ontouchstart' in window // works on most browsers 
      || 'onmsgesturechange' in window; // works on ie10
};

GÜNCELLEME:

'onmsgesturechange' in window değil güvenilir o yüzden bazı IE masaüstü sürümlerinde doğru döndürecektir. Modernizr have updated their tests. Bu madde bence explains a couple of problems.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • Unbox Therapy

    Unbox Therap

    21 Aralık 2010