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

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010