Sto sviluppando una pagina di ricerca e ho il requisito di memorizzare tutti i filtri selezionati e altro stato nell'URL, in modo che gli utenti possano condividere i risultati del loro lavoro.
Uso angular $ location.search() per l'aggiornamento e l'analisi dell'URL. Posizione impostazioni del provider è seguire:
$locationProvider.html5Mode(true).hashPrefix('!');
Il problema inizia quando utente del browser precedente condivide un legame con hashbang ad un utente con un browser moderno. In tal caso $ location.search() non restituirà nulla.
Come ho capito il motivo è in modalità html5 dopo "#" avvia $ location.hash() e non $ location.search(). Ma qual è l'obiettivo di hashPrefix ('!')? Ho pensato che dovrebbe risolvere questo problema ...
Come posso analizzare una stringa di query in html5Mode (true) se l'utente invia un URL con hashbang?
Quasi non mi piace suggerire questo, ma è possibile provare purl.js per analizzare la stringa di query. L'ho usato oggi e ha funzionato bene. https://github.com/allmarkedup/purl – Jess
Grazie per purl.js. Sfortunatamente il problema è stato risolto come html5Mode (false) .. –
Non è una risposta, è un altro modo che non è desiderabile –