我加入一些移動可用性的優化我們網站的屏幕鍵盤。作爲其中的一部分,我正在調整textfields的type屬性,爲用戶提供預期數據類型的最佳輸入工具。檢測是否鍵是在移動設備
我在觸摸屏移動設備中碰到的一個問題是,當使用input type =「number」時,不同操作系統上的瀏覽器以及同一OS上的不同瀏覽器會顯示不同的屏幕鍵盤。
Safari瀏覽器在iOS 4.3.3(iPhone 4)和Chrome在Android 2.3.4包括一個小數點,但Firefox在Android 2.3.4沒有。
我曾嘗試添加具有在Firefox沒有改善的步驟屬性(步驟=「0.1」)。
如果我不能顯示小數點我需要出示Firefox中的QWERTY全鍵盤,這顯然是不打算做了最好的用戶體驗。它也引發了瀏覽器/設備嗅探的問題。要麼我需要將QWERTY設置爲默認值,並將數字鍵盤顯示給我可以實際測試的少數設備,或者將數字鍵盤設置爲默認設置,然後在設備上切換回QWERTY,我知道這將會打破,後面的選項因爲我無法測試所有有史以來製造的設備,所以它遠沒有那麼強大。
測試爲輸入類型支持=「數字」是不是一個解決方法,因爲很明顯,瀏覽器支持的元素,它只是不提供足夠的鍵盤選項,輸入所有數字類型。
所以..我想知道是否有人知道一種方法來測試瀏覽器/操作系統分配給輸入類型的鍵盤中是否存在某個鍵(例如小數點),以及/或者是否有人否則有更好的建議,因爲我對移動設備很陌生。
我還要提到的是,我使用JavaScript在這裏,因爲這是一個網站,而不是本機應用程序。
謝謝:)
'input type =「tel」'你會工作嗎? – ozbek
至少在Android上,沒有要求甚至有*鍵*。輸入法可以使用其他形式,例如使用手勢的Grafiti2。原生Android應用程序無法確定用戶當前的輸入法是否顯示某個鍵,更不用說瀏覽器了。 – CommonsWare