Невозможно загрузить ExtJS на Cordova Android через загрузчик приложений Cordova: addRow не определен - PullRequest
0 голосов
/ 08 января 2019

Укороченная версия истории, которую я пытаюсь сделать: загрузить веб-приложение в среде выполнения Cordova через загрузчик приложений Cordova. Веб-приложение построено на ExtJS

Процесс

  1. Приложение ExtJS создается.
  2. bootstrap.js генерируется для концепции микропогрузчика.
  3. manifest.json создан
  4. Приложение Cordova может загружать и загружать внешнее веб-приложение.

При использовании на Android и iOS версия для iOS работает отлично, но версия для Android выдает несколько ошибок.

(index):1 Uncaught ReferenceError: start is not defined
    at (index):1
(index):2 Uncaught ReferenceError: onHasParentDirectory is not defined
    at (index):2
(index):3 Uncaught ReferenceError: addRow is not defined
    at (index):3
(index):4 Uncaught ReferenceError: addRow is not defined
    at (index):4
(index):5 Uncaught ReferenceError: addRow is not defined
    at (index):5
(index):6 Uncaught ReferenceError: addRow is not defined
    at (index):6
(index):7 Uncaught ReferenceError: addRow is not defined
    at (index):7
(index):8 Uncaught ReferenceError: addRow is not defined
    at (index):8

При дальнейшей проверке кажется, что это связано с тем, как работает веб-просмотр в Android и как у него проблемы с хешами.

Некоторые ответы по ссылкам: - Проблема связана со ссылкой (href) с префиксом «/ # / xxxx», а не «# / xxxx»… -file: ///android_asset/www/main.html# "+ strippedUrl; где strippedUrl означает исходный URL с файлом: ///, преобразованным в просто / и с потенциальным / android_asset / www, преобразованным в пустую строку, там, кажется, быть проблемой в WebView 4.0, связанной с маршрутизацией html5 и путями, начинающимися с /.

Справочные ссылки:

https://gist.github.com/morganrallen/f955cc0312ae2cdbe9a5 https://forum.ionicframework.com/t/uncaught-referenceerror-addrow-is-not-defined/9266/3

Чтобы попробовать этот подход, я попытался реализовать подход hashbang, но приложение все равно не работает в Android.

Может кто-нибудь сообщить мне, как обойти эти ошибки или какое возможное решение может быть там.

P.S .: если я работаю без маршрутизации в ExtJS, приложение работает отлично. Ошибки отсутствуют в проекте ExtJS.

Спасибо и всего наилучшего

1 Ответ

0 голосов
/ 11 января 2019

Я решил проблему, указав путь с index.html на нем.

Раньше это было

downloadedAppUrl = fileSystem.root.nativeURL + 'app';

Теперь я указал

downloadedAppUrl = fileSystem.root.nativeURL + 'app/index.html';
...