同じ HTML を使用しながら、提供先のプラットフォームに最適な方法で「ウィジェット化」する 1 つのサイトが必要です。
クライアントでモバイル デバイス/ハードウェア キーボードを検出し、サイトのモバイル JavaScript または jQuery UI およびデスクトップ エクスペリエンス用のスクリプトと共に jQuery Mobile をロードするかどうかを決定するための標準的な方法はありますか?
以下はそれを行うための合理的な方法のように思えますが、Modernizr.touch がこれを検出する最良の方法であるかどうか疑問に思いますか? 例: 強制的なタッチは、Surface の最適なソリューションではない可能性があります。ハードウェア キーボードもあるかどうかを検出する方法はありますか?
Modernizr.load({
test: Modernizr.touch,
yep : ['jquery-mobile.js','mobile.js']
nope: ['jquery-ui.js','desktop.js']
});
編集:
関連する Modernizr バグがいくつか見つかりました。
私が本当に必要としているのは、デバイスにタッチ機能があるかどうかと、ハードウェア キーボードがあるかどうかの両方を検出する方法だと思います。デバイスの幅を物理単位 (インチ) で検出するための David Mulder の回答をそのプロキシとして使用し、11 インチを超えるものにはキーボードがあると想定できますが、そこには巨大なタブレットがあるに違いありません (または、Google が nexus 12 タブレットをリリースする予定です: ) それは間違った仮定をするところです。