Итак, я вернулся и каким-то образом исправил возникшую проблему (скорее всего, по счастливой случайности).Когда я начинал этот проект, я думал, что лучшим подходом будет сделать это приложение максимально модульным;каждая функциональность (веб-запросы, чтение / запись файла и т. д.) должна быть отделена друг от друга.Таким образом, я создал множество отдельных js-файлов, каждый из которых был помечен соответствующим именем (сеть, устройство, язык и т. Д.), А затем включил их в мою страницу index.html, которая затем запускается с помощью phonegap.
InДля некоторых из этих файлов я выбрал следующий подход:
var Device = {
// Returns the Device Name as a string.
Name: function() {
return window.device.name;
}
};
В результате я мог получить доступ к этой функции с помощью оператора точки (который я предпочитаю).Однако в результате этого многие файлы полагались друг на друга, что затрудняло поиск моей проблемы.Потратив некоторое время на комментирование и снятие комментариев, кажется, я использовал комбинацию вышеуказанного подхода (оператор точки) и мой неправильный выбор соглашений об именах.Представленная выше реализация Device.Name()
, кажется, (не совсем уверена в том, почему / как) конфликтует с библиотеками PhoneGap, что приводит к ошибкам js на устройстве.
После изменения указанного выше имени с «Device» на «Handset»"моя проблема ушла.Простое и, возможно, очевидное решение мучительного дня.