deviceready
の前に発砲する競合状態に陥っていると思いますplatform.ready
。
私の推奨は、deviceready
前に発火する場合platform.ready
と逆に発火する場合の両方を処理することです。そのためには、このパターンに従う必要があります。
角度のある世界の外のどこかにあるので、おそらく起動時の js ファイルにあります。
document.addEventListener("deviceready", () => window['isCordovaReady'] = true, false);
initializeApp
次に、これをメソッドで使用できます
initializeApp(){
this.platform.ready().then(() => {
if(!!window['isCordovaReady']){
onDeviceReady();
} else {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
console.log(navigator.camera);
console.log("Cordova");
}
}
}
また、投稿したコードに構文エラーがあります。
initializeApp(){
this.platform.ready().then(() => {
{ <-- This is extra and should be removed.
document.addEventListener("deviceready", onDeviceReady, false);
} <-- Missing a ');'
function onDeviceReady() {
console.log(navigator.camera);
console.log("Cordova");
}
}