2011-05-23 19 views
7

html5'in bir mobil cihaz yerel cihazında dokunma işlevselliğini destekleyip desteklemediğini merak ediyordum? Dolayısıyla, iOS/Android/WP7 için yerel bir uygulama yapmak zorunda değiliz, ancak mobil tarayıcıda yüklenen bir html5 sayfası oluşturabiliriz. Eğer HTML5'teki dokunuşla size kendi şey yapmak, böylecehtml5 desteği cep telefonlarında çalışıyor mu?

DÜZENLEME ben tarayıcıda dokunmatik yerli JavaScript desteğini demek.

cevap

8

Dokunma olayı türüne bağlıdır. Standart tarayıcı tıklama/fare olaylarınız için bunlar tarayıcı tarafından taklit edilir. Halst tarafından belirtildiği gibi, tıklanabilir öğelerinizi mobil ortamda çalışmak için yeterince büyük hale getirin.

Çoklu dokunma/hareketleri kullanmak istiyorsanız, biraz daha ilginç olur.

Webkit, touchstart, touchmove, touchend, touchcancel sağlar. Tek dokunuşla olaylar için destek hem IOS Safari hem de Android Webkit'te aynı olmalıdır. Kendi yuvarlayabilir veya jqTouch gibi bir kütüphaneyi kullanabilirsiniz.

IOS Safari handles touch events nasıl daha fazla bilgi edinebilirsiniz. Android için etkinlikler belgelenmiş gibi görünmüyor, ancak daha fazlasını quirksmode touch support'dan okuyabilirsiniz.

+0

https://github.com/zlatnaspirala/multi-touch-canvas-handler/blob/master/README.md Bu komut ile aynı anda 10 parmağınızı kaldırabilirsiniz –

2

Sadece düğmeler ve düğmeler yeterince büyük hale getirin, işte bu kadar.

+0

Mobil tarayıcılarda javascript desteğini kastediyorum. Sorumu düzenledim. –

0

Biraz.

iPad için neredeyse bir yerel uygulama gibi görünen bir web sayfası yazmak mümkündür (çoklu dokunma dahil) ancak "yüksek düzey" olaylarını kullanmaktan vazgeçmem gerekiyordu ve bunun yerine touches dizisini işlemek zorunda kaldım. makul yakınlaştırma/pan. Sonuçlar IMO oldukça iyi (insanlar vektör grafik editörü oyuncağının yerel bir uygulama olduğunu düşündüklerini gösterdim).

Android için işler biraz daha zorlayıcı çünkü Nexus'umda görünen o ki tam ekrana yakın bir şey elde etmek için bir yol yok (ve adres çubuğunu kaybetmek için bir alanın çok fazla yer kaybetmesi anlamına geliyor) ve aynı zamanda çoklu dokunma varsayılan tarayıcıda devre dışı bırakılır :-(

Her iki sorun da (örneğin, tam ekran ve çoklu dokunma) Opera'da çözülür ve bu benim düşüncemde üzücüdür, çünkü bu, iyi web uygulamaları istemedikleri anlamına gelir. telefon numarası:

Teknik olarak, hem masaüstü hem de telefonlarda çalışan tek bir html5/js programı yazmak mümkündür, ancak bu elbette ki bir masaüstü uygulaması için en iyi kullanıcı arayüzüdür. Bir telefon için en iyisi.