2013-03-13 177 views
5

我正在開發一個爲支持觸摸的設備實現特定功能的網站。我的目標是瞄準智能手機,平板電腦,實際上所有以觸摸屏爲主要輸入的東西。如何測試觸摸屏(而不是「觸摸功能」)?

要做到這一點我使用的Modernizr的Modernizr.touch

然而,這將返回上安裝有一個Wacom的數位板電腦鉻如此。 (與Wacom Intuos 5確認)。顯然,這些計算機上的主要輸入設備是鍵盤和鼠標,而不是觸摸屏。這會產生誤報,因爲我想爲這些計算機提供桌面用戶體驗,而不是觸摸屏用戶體驗。

有沒有辦法檢查「觸摸屏功能」,而不是「觸摸功能」?或者有其他創造性的方法來解決這個問題並避免誤報?

+0

我幾個月來一直在尋找答案。不幸的是,我認爲這樣檢測硬件是不可能的。 – BenM 2013-03-13 16:47:56

+0

這是一個關於這個話題的長時間的討論:https://github.com/Modernizr/Modernizr/issues/548 – 2013-03-13 16:57:55

回答

0

「點擊或點擊此框」的簡單用戶測試應該能夠告訴您他們是否使用鼠標或某個觸摸設備來完成操作。由於您可以獲得設備的用戶代理,因此對於平板電腦和手機,可以很容易假設這兩個數據具有觸摸功能......因此,如果您檢測到也測試了積極的桌面用戶,則只能顯示「測試」對於觸摸設備(應該是比測試每個人都小的樣本,這可能會讓用戶感到煩惱)。當然,我也會記住用戶的選擇/測試結果,所以你不必再次錯誤。

+1

我很欣賞輸入(沒有雙關語意圖):)我寧願避免詢問任何用戶的侵入性「單擊此按鈕,以便我可以向您呈現適當的菜單」。我正在尋找一種方法來自動實現這一點。維護用戶代理和功能的活動列表,然後將其附加到用戶配置文件看起來像是針對此問題的不成比例的,不合適的解決方案。 – OpherV 2013-03-13 17:03:21

+0

從技術上講,有一個名爲WURFL的項目將用戶代理映射到設備功能(它用於服務器端設備檢測)。我不知道它對觸摸事件的意識(它主要用於服務WML和XHTML-MP) – 2013-03-13 17:04:58

+0

爲什麼downvote?查看User-Agent字符串並確定一些內容實際上是相當常見和標準的做法。這就是大多數「啓用移動設備」的網站決定向客人提供哪個網站。如果用戶沒有具體告訴你他們有什麼設備,我認爲這是下一個最好的事情。 – SnakeDoc 2013-03-13 19:04:42