デスクトップから Android モバイル、Blackberry モバイルまで、さまざまなデバイスに展開される Web アプリケーションを開発しています。このような異なるデバイスをサポートする必要があるため、タッチと非タッチの 2 つの異なるインターフェイスが存在します。
問題は、Blackberry 9300 などのタッチをサポートしていない Blackberry デバイスが、タッチ イベントをサポートしているように誤って表示されることです。すなわち、
'ontouchstart' in window;
戻りますtrue
。
今まで、私はブラウザのスニッフィングに頼っていました。
if (window.navigator.userAgent.match(/BlackBerry/i)) {
doStuff();
}
しかし、今はタッチである Blackberry Torch をサポートする必要があるため、後者はもう機能しません。もちろん、ブラウザのスニッフィング用にもっと正確な正規表現を試すこともできますが、破滅への道を進んでいると感じています。
Blackberry デバイスでも機能する、タッチ イベントのサポートを検出するより信頼性の高い方法はありますか?