无法读取属性'键盘'未定义的离子问题

时间:2018-03-08 08:45:36

标签: angularjs cordova ionic-framework

这是我的代码:

angular.module('app', ['ionic', 'ngMessages', 'ngCordova', 'jett.ionic.filter.bar',
'ion-datetime-picker', 'angularMoment', 'ngCordova.plugins.progressIndicator', 'ionic-timepicker']) //, $httpProvider
.config(configBlock)
// .factory('MyHttpInterceptor', MyHttpInterceptor)
.run(function ($ionicPlatform) {
  $ionicPlatform.ready(function () {
    if (window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if (window.StatusBar) {
      StatusBar.styleDefault();
    }
  });
});

但我得到了

  

"无法读取属性'键盘'未定义"错误

我运行命令ionic serve后。我已经添加了插件 - >离子插件键盘到我的项目。有人可以帮我找到这个问题吗?

1 个答案:

答案 0 :(得分:0)

仅针对Android进行修复:

使用window.Keyboard而不是cordova.plugins.Keyboard

您的代码应该是这样的:

if (window.cordova && window.Keyboard) {
    window.Keyboard.hideKeyboardAccessoryBar(true);
}

在文档中,它写了一个名为Keyboard.hideFormAccessoryBar的方法。它适用于iOS,但在Android上,该方法称为Keyboard.hideKeyboardAccessoryBar。您可以检查位于以下位置的Keyboard.js文件中的js代码:file:///android_asset/www/plugins/cordova-plugin-ionic-keyboard/www/android/keyboard.js。或者您可以使用chrome:// inspect /#devices来调试最新情况。

我希望这可以解决您的问题。