tworzę aplikację wyszukiwania w angularjs z tymi ustawieniami:alternatywna do wykorzystania hashbangs w adresie URL, aby rozwiązać problem IE9
App Config:
app.config(
[
'$locationProvider',
function ($locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: false
});
}
]
);
Problemem nie jest sama aplikacja ale gdy próbuję uzyskać dostęp do strony za pomocą IE9 nie jestem w stanie uzyskać do niego dostępu. Po przeczytaniu som dowiedziałem się, że IE9 ignoruje everyting, który przychodzi po # w adresie URL, i przekierowuje użytkownika z powrotem do adresu URL hosta (wszystko przed # w adresie URL). Standardowym powrotem do trybu html5 jest tryb hashbang. Angular docs for $location
Moje pytanie brzmi, czy ktokolwiek wie, czy istnieje jakikolwiek sposób wykorzystania hashbangów w adresie URL lub czy ktokolwiek inny ma ten problem. Jeśli potrzebujesz więcej dokumentacji, daj mi znać, a dostarczę!
EDIT: To jest wewnątrz sterownika:
$scope.$on('$locationChangeSuccess', function() {;
$scope.searchQuery = $location.search()['q'];
$scope.search();
});
EDIT: "!" Dodawanie $locationProvider.hashPrefix('!');
nie będzie działać, ponieważ będzie dodawać tylko po "#" w adresie URL.
widoczny obraz z kanciastych docs:
„Po zrobieniu som czytania i okazało się, że IE9 ignoruje wszystko, co przychodzi po # w adresie URL, i przekierowuje użytkownika z powrotem do adresu URL hosta ". Oto, jak działa skrót w adresie URL. Angularne prace, biorąc je i przetwarzając je w użyteczny adres URL wewnętrznie. –
Jaki jest problem? Dlaczego nie masz do niego dostępu w IE9? Czy zrobiłeś jakieś rozwiązywanie problemów? Zastąpienie jest poprawne, jak możemy zobaczyć w dokumentacji. – falsarella