Sto creando un applicazione di ricerca in angularjs con queste impostazioni:alternativa all'uso del hashbangs nell'URL per risolvere problema IE9
App Config:
app.config(
[
'$locationProvider',
function ($locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: false
});
}
]
);
Il problema non è l'applicazione stessa ma quando sto cercando di accedere alla pagina con IE9 non riesco ad accedervi del tutto. Dopo aver letto qualcosa ho scoperto che IE9 ignora tutto ciò che viene dopo il # in un url e reindirizza l'utente all'URL dell'host (tutto prima del # nell'url) E il fallback standard per html5mode è hashbang-mode. Angular docs for $location
La mia domanda è se qualcuno sa se c'è un modo per aggirare l'uso di hashbang nell'URL o se qualcun altro ha questo problema. Se è necessaria più documentazione, per favore fatemi sapere e fornirò!
EDIT: Questo è all'interno del controller:
$scope.$on('$locationChangeSuccess', function() {;
$scope.searchQuery = $location.search()['q'];
$scope.search();
});
EDIT: "!" Aggiunta $locationProvider.hashPrefix('!');
non funzionerà perché sarà solo aggiungere un dopo il "#" nell'URL.
vedi immagine da docs angolari:
"Dopo aver fatto la lettura som ho scoperto che IE9 ignora tutto ciò che viene dopo il # in un url e reindirizza l'utente all'URL dell'host ". Ecco come funziona l'hash in un URL. Angular funziona prendendo questo e analizzandolo internamente in un URL utilizzabile. –
Quindi, qual è il problema? Perché non sei in grado di accedervi in IE9? Hai risolto il problema? Il fallback è corretto, come possiamo vedere nella documentazione. – falsarella