【问题标题】:How to get deviceready event in Cordova/ionic?如何在 Cordova/ionic 中获得 deviceready 事件?
【发布时间】:2015-04-14 10:18:28
【问题描述】:

我正在使用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!');});

但这些都不起作用。我用日志语句包围了这些行,以及执行之前和之后的所有代码,所以它不会停在那里。我正在物理 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)

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

【问题讨论】:

    标签: javascript android cordova ionic-framework


    【解决方案1】:

    默认的“空白”Ionic 模板在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 () {}); 放置在错误的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 2015-09-20
      • 2018-01-04
      • 1970-01-01
      相关资源
      最近更新 更多