Angular6 + Cordova: кордова не загружается - PullRequest
0 голосов
/ 16 мая 2018

Я знаю, что это распространенная проблема, но все найденные обходные пути были ", включая cordova.js в index.html " или "change href =". "На href =" ./ ""

Я думаю, что кордовый API не загружен в приложение, потому что устройство уже не вызывает обратный вызов.Но я все еще могу запустить приложение (но компоненты, использующие navigagor.mediadevices, не работают).

index.html

<base href="./">
<script src=”cordova.js”></script>
<script>
window.isready = false;
function ready(){
    alert('test');
    console.log('test');
    window.isready = true; // this is always false
}
document.addEventListener('deviceready', ready, false);
</script>

Событие никогда не запускается

Как я установил Cordova и собрал приложение

npm install -g cordova
cordova create cordova
cd cordova && cordova platforms add android
rm -rf cordova/www/*
ng build --prod --aot --output-path=cordova/www
cd cordova && cordova build android

пакет Cordova.json

... 
"dependencies": {
    "cordova-android": "^7.0.0",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-media-capture": "^3.0.2",
    "cordova-plugin-whitelist": "^1.3.3"
},
"cordova": {
    "plugins": {
        "cordova-plugin-whitelist": {},
        "cordova-plugin-media-capture": {},
        "cordova-plugin-device": {}
    },
    "platforms": [
        "android"
    ]
}

1 Ответ

0 голосов
/ 16 мая 2018

Настройка для вашего обработчика событий deviceready правильная.Похоже, проблема в том, что вы включили cordova.js.Вот что вы должны сделать для устранения неполадок:

  1. В приведенном выше примере кода вы включили cordova.js, используя наклонные двойные кавычки вместо простых двойных кавычек.

Попробуйте изменить это:

<script src=”cordova.js”></script>

На это:

<script src="cordova.js"></script>

Запустите приложение на своем устройстве Android, подключите свое устройство к компьютеру через USB, включив отладку в режиме разработчика на своем устройстве, и откройте chrome://inspect, чтобы проверить приложение в режиме реального времени.Убедитесь, что cordova.js действительно существует и успешно загружен при загрузке приложения.

Порядок, в котором вы включаете cordova.js, может иметь значение.Вам может потребоваться переместить <script src="cordova.js"></script> под блоком <script>, где вы устанавливаете обработчик событий deviceready.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...