Я пытаюсь использовать MovilizerJS с Ionic Framework для создания экрана HTML5. Я пытаюсь ссылаться на te MovilizerJS из файлов App.js, сгенерированных Ionic. Я добавил файлы MovilizerJS в папку плагинов и добавил файл Cordova.js, содержащий.Movilizer - Использование MovilizerJS с Ionic
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript = document.createElement("script");
oScript.type = "text/javascript";
oScript.src = "plugins/Movilizer.js";
oHead.appendChild(oScript);
Кажется, однако, что, когда я загрузить страницу HTML5 в браузере (или вид html5 в movelet) MovilizerJS не загружаются. В браузере появляется следующая ошибка:
Модуль «движитель» недоступен!
Возможно, мне нужно добавить это как модуль в угловую структуру, но когда я пытаюсь добавить его в модули, он все равно дает мне ошибки. Мои HTML файл содержит скрипт-тег для movilizer:
<script src="plugins/Movilizer.js"></script>
Мой 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();
}
});
}).factory('MovilizerExtender', function ($rootScope) {
return {
startUpMovilizer: function(){
movilizer.readGlobalVariable("testTable",this.successCallback,this.errorCallback);
},
successCallback: function(result){
$rootScope.routestops = [
{ ontvNaam: 'nice' },
{ ontvNaam: 'it' },
{ ontvNaam: 'is' },
{ ontvNaam: 'working' }
];
},
errorCallback: function(){
console.log('failed');
}
}
}).controller("RoutestopCtrl", function($scope, $rootScope, MovilizerExtender) {
MovilizerExtender.startUpMovilizer();
$scope.routestops = $rootScope.routestops;
$rootScope.$watch('routestops', function(){
$scope.routestops = $rootScope.routestops;
});
});
Когда я непосредственно вызвать метод succesCallback и закомментируйте строку: movilizer. readGlobalVariable (...), он больше не пытается получить доступ к movilizerJS, а страница работает. Также обратите внимание, что файл Movilizer.js содержит метод readGlobalVariable, описанный в коде app.js. Любая помощь или идеи будут оценены.
ли вы создать экземпляр movilizer прототипа Movilizer перед получением доступа к readGlobalVariable от этого? Сообщение об ошибке звучит так, как если бы экземпляр не присутствовал во время выполнения в контексте. Для отладки в браузере это должно присутствовать в Movilizer.js, если я не ошибаюсь. –
. Недавно я смог устранить эту проблему, отредактировав порядок скриптов на моей HTML-странице, необходимо, чтобы cordova.js загрузился до моей ионической структуры в противном случае он не распознал бы movilizer.js, поскольку он еще не был создан. Я получил movilizerjs, работающий на моем обозревателе рабочего стола (хром, firefox и даже IE), хотя, к сожалению, он все еще не работает в клиенте движителя. С помощью отладочного клиента Swing все переменные выглядят нормально, поэтому я думаю, что это внутренняя ошибка на экране HTML5. Ошибки HTML5 не регистрируются в swing-отладочном клиенте, хотя я не уверен в этом –
@VictorBeersma У меня была та же проблема, и ваш комментарий спас мой день. Пожалуйста, подумайте над тем, чтобы добавить это как ответ и принять его. Хорошего дня, сэр. –