我正在使用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)
有人知道为什么这不起作用以及如何解决它?欢迎所有提示!
答案 0 :(得分: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 () {});
放在错误的位置。