我正在使用ionic framework(在Cordova之上构建)构建应用程序,现在我想捕获deviceready事件。在互联网上,我发现了执行此操作的各种方法。我尝试了以下三种方法:

document.addEventListener('deviceready', function () {console.log('IT IS READY!');});

$ionicPlatform.ready(function () {console.log('IT IS READY!');});

window.ionic.Platform.ready(function() {console.log('IT IS READY!');});


但这些都不起作用。我将这些行与log语句以及在执行AND之后的所有代码包围在一起,因此它不会在那里停止。我正在物理Android设备上尝试过此操作(尚未尝试过iOS)。

我没有收到任何错误消息。我在终端中获得的唯一可能相关的日志是一个无法读取的键盘引用日志:

I/chromium(25678): [INFO:CONSOLE(20)] "Uncaught TypeError: Cannot read property 'Keyboard' of undefined", source: file:///android_asset/www/js/app.js (20)


有人知道为什么这行不通以及如何解决吗?欢迎所有提示!

最佳答案

默认的“空白”离子模板在app.js中具有此代码,并且可以完美运行。

angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {

  $ionicPlatform.ready(function() {

    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }

  });
})


也许您将$ionicPlatform.ready(function () {});放在错误的位置。

08-06 05:06