Abilitando la modalità HTML5 in AngularJS, il servizio $location
riscrive gli URL per rimuovere l'hashbang da essi. Questa è una grande funzionalità che mi aiuterà con la mia applicazione, ma c'è un problema con il suo fallback alla modalità hashbang. Il mio servizio richiede l'autenticazione e sono costretto a utilizzare un meccanismo di autenticazione esterno dalla mia applicazione. Se un utente tenta di accedere a un URL per la mia app con un hashbang in esso, per prima cosa lo reindirizzerà alla pagina di autenticazione (non toccherà mai il mio servizio se non è stato autenticato con successo), quindi li reindirizzerà alla mia applicazione. Essendo che il tag hash è visto solo dal lato del client, verrà rilasciato qualsiasi parte dei percorsi dopo il momento in cui hanno colpito il mio server. Una volta che sono autenticati, potrebbero reinserire l'URL e funzionerà, ma è la prima volta che causerà un'interruzione all'esperienza utente.AngularJS La modalità HTML5 degrada fino a ricaricare la pagina intera invece di hashbang
La mia domanda è, allora, esiste un modo per andare da $location.html5Mode(true)
al ripiego di ricariche a piena pagina per i browser non-solidale, saltando il metodo hashbang di instradamento interamente in AngularJS?
Il miglior confronto tra le implementazioni disponibili di ciò a cui sto mirando potrebbe essere qualcosa come sfogliare le cartelle su github.com. Se il browser supporta la riscrittura dell'URL senza avviare un aggiornamento della pagina, la pagina caricherà in modo asincrono le parti necessarie. Se il browser non lo supporta, quando un utente fa clic su una cartella, si verifica un aggiornamento a pagina intera. Questo può essere ottenuto con AngularJS invece di usare la modalità hashbang?
Hai mai trovare una soluzione a questo? Sto affrontando una situazione simile. – Jonathan