检测应用程序是在 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 吗?是否有更有效或更可靠的方法来检查应用程序是否通过 JavsScript 在 phonegap 中运行?
这个线程提到了 Ripple Chrome 插件: Phonegap web app in regular desktop browsers
Ripple 工具看起来可能是一个有价值的测试工具。但我试图让我的 phonegap 应用程序在没有插件的桌面浏览器中运行。
如果确定该应用程序未在 phonegap 中运行,我将使用用户代理嗅探来确定浏览器是桌面还是移动,并在需要时进一步分离任何代码。