Фон
Инсталирах PushPlugin. Според документите използвах автоматична инсталация. Но когато стартирам
cordova run android
, JavaScript връща грешката „Не може да прочете свойството pushNotification на undefined“Ако добавя
<script type="text/javascript" charset="utf-8" src="PushNotification.js"></script>
тогава грешката се променя на тази в заглавието на този въпрос.
Ето как моят HTML зарежда скриптовете
<script type="text/javascript" src="cordova.js"></script> <script src="js/libs/jquery-1.10.2.js"></script> <script src="js/libs/handlebars-1.1.2.js"></script> <script src="js/libs/ember-1.5.1.js"></script> <script type="text/javascript" src="js/index.js"></script> <script type="text/javascript" src="js/model.js"></script> <script type="text/javascript" src="js/router.js"></script> <script type="text/javascript" src="js/controller.js"></script> <script type="text/javascript" src="js/view.js"></script>
Кодът за инициализиране е в
index.js
, където следdeviceready
извиквамpushNotification.register
.След като
register
завърши, извиквамMyEmberApp.deferReadiness()
След автоматично инсталиране на приставката, просто трябва да стартирам
register
, според документите. Но това все още води до „Не мога да прочетаpushNotification
....“Изглежда, че
PushNotification.js
се вмъква автоматично след задействане наdeviceready
. Но плъгинът не го прави. Ако вмъкна скрипта вindex.html
, възниква грешкаObject has no method 'exec'
, защотоdeviceready
още не е задействан.deviceready
if ('device is android') { document.addEventListener("deviceready", this.onDeviceReady(), false); }
Въпрос
какво правя грешно Как трябва да направя това?
Актуализация
Току що разбрах, че съм пробвал само автоматичната инсталация. Не съм пробвал ръчните стъпки. Но това не е причина директната инсталация на приставката да не работи