user318696 обладал магией, которую я искал.«устройство» определено в cordova и не определяется в браузере (не обертка приложения phoneGap).
РЕДАКТИРОВАНИЕ:
Я столкнулся со сценарием, в котором Кордова довольно долгоинициализировать на устройстве, и «оригинальный» ответ здесь больше не действителен.Я перешел к требованию параметра в URL при запуске тестов в браузере.(в примере я ищу "testing =" в URL-адресе исходной страницы)
$(document).ready(function () {
// ALWAYS LISTEN
document.addEventListener("deviceready", main, false);
// WEB BROWSER
var url = window.location.href;
if ( url.indexOf("testing=") > -1 ) {
setTimeout(main, 500);
}
});
ОРИГИНАЛ:
Я не выкопал достаточно глубоко, чтобы знать, как долгодоверяйте этому [они могли бы начать определять «устройство» в браузере в будущем выпуске?] Но по крайней мере до 2.6.0 это безопасно:
$(document).ready(function () {
// call main from Cordova
if ( window.device ) {
document.addEventListener("deviceready", main, false);
}
// from browser
else {
main();
}
});