アプリが phonegap で実行されているか、単に JavaScript を使用したモバイル/デスクトップ ブラウザー内で実行されているかを検出する最も効率的で信頼できる方法は何ですか? phonegap アプリを任意のブラウザー (デスクトップまたはモバイル) でテスト/デバッグすることを妨げる問題を排除し、アプリ用の真にユニバーサルなコード ベースを作成しようとしています。
次のような phonegap 固有の呼び出しで関数を構造化するつもりです。
if (phonegapisrunning) {
// phonegap specific javascript calls here
}
else {
// standard javascript calls here
}
解決策を探しているときに、このスレッドに出くわしました: PhoneGap: Detect if running on desktop browser。
このスレッドではこの問題について説明していますが、どの方法が最も効率的で信頼性が高いかについての明確な答えはわかりません。onDeviceReady() イベントにバインドする必要がありますか? window.device を確認する必要がありますか? アプリが JavasScript を介して phonegap で実行されているかどうかを確認する、より効率的または信頼できる方法はありますか?
そして、Ripple Chrome プラグインについて言及しているこのスレッド: 通常のデスクトップ ブラウザーでの Phonegap Web アプリ
Ripple ツールは、テスト用の貴重なツールになりそうです。しかし、プラグインなしでデスクトップ ブラウザーで phonegap アプリを実行しようとしています。
アプリが phonegap で実行されていないと判断された場合は、ユーザー エージェント スニッフィングを使用して、ブラウザーがデスクトップかモバイルかを判断し、必要に応じてコードをさらに分離します。