próbuje ustawić prawidłową base href
wartość dla angularjs html5 internetowej aplikacji do pracy w Cordovaangularjs Cordova baza href
początkowo stosując $locationProvider.html5Mode(true)
z <base href="/">
:
- aplikacja działa idealnie w normalnej przeglądarce
- cordova podaje błędy zasobów dla css/js/templates itp.
(Wydaje mi się, że szuka zasobów w katalogu głównym cordova, a nie w katalogu głównym platformy?)
spróbował kilka alternatyw są płynął tu na SO i UI-Router FAQs: (brak błędów
aktywa- znajdują się ok w Cordova zasobów:
<base href=".">
w trybie HTML5 zgodnie this odpowiedź) - ui Router przechodzi do ogona wirowania z pętli nieskończonej i komunikatu błędu
Error: Failed to execute 'pushState' on 'History': A history state object with URL 'https://page/' cannot be created in a document with origin https://example.com
<base href="./">
w trybie HTML5:
- aktywów znalezione w Cordova (bez błędów zasobu)
- daje mi bał
Error: 10 $digest() iterations reached. Aborting!
wiadomość spróbował wykorzystać frankwallis solution wspomniano here ale to nie pomogło (ten sam błąd)
nie base href
z $locationProvider.html5Mode({enabled: true, requireBase: false});
- Aktywa znalezione w Cordova (brak błędów w zasobach)
- strony rozpoczynają ładowanie w sobie? ... jak dwa razy w kanciastych bootstrapach w stanach niektórych?
moja definicja app config wygląda następująco:
myApp.config(['$locationProvider', '$urlRouterProvider', '$stateProvider', '$stickyStateProvider', function($locationProvider, $urlRouterProvider, $stateProvider, $stickyStateProvider) {
$locationProvider.html5Mode(true);
$stateProvider
.state('root', { // we define a 'root' state so that we can load some essential data prior to any template being loaded
url: '',
abstract: true,
sticky: true,
views: {
'root': {
template: '<ui-view/>',
}
}
})
.state('root.worldmap', {
url : '/worldmap',
templateUrl : 'templates/worldmap.tmpl.html'
})
.state('root.faq', {
url : '/faq',
templateUrl : 'templates/faq.tmpl.html'
})
.state("otherwise", {
url: "*path",
views: {
'root': {
template: "",
controller: ['$injector', function($injector) {
var $state = $injector.get("$state");
$state.go('root.worldmap');
}]
}
},
});
$stickyStateProvider.enableDebug(true);
}]);
Informacje: wykorzystaniem this method alternatywnego Cordova deviceready
vs kanciasty.Element bootstrap dla Cordova/przeglądarce odpowiednio