Qualcuno sa se Internet Explorer supporta i metodi history.pushState()
e history.replaceState()
per manipulating browser history? Considerando che questi sono appena stati implementati in Firefox 4, non sto trattenendo il respiro, ma qualcuno sa se arriveranno in IE9?Internet Explorer supporta pushState e replaceState?
risposta
Probabilmente il miglior sito per informazioni sulla compatibilità del browser è CanIUse. Ecco la sezione su history.
Sommario - IE9: no, IE10: sì (come di Platform Preview 3)
La prima Release Candidate di IE9 (uscito 10 febbraio 2011) non supporta history.pushState o history.replaceState . Generalmente non vengono aggiunte nuove funzionalità dopo che un prodotto arriva allo stage RC, quindi è molto improbabile che l'IE9 finale supporti questi metodi.
Microsoft ha un buon overview for developers delle caratteristiche di IE9.
Aggiornamento: Internet Explorer 9 è stato lanciato (il 14 marzo 2011) e sicuramente non supporta history.pushState()
o history.replaceState()
.
Aggiornamento 2: l'anteprima della piattaforma corrente di IE10 still does not support pushState/replaceState.
Aggiornamento 3: Anteprima piattaforma 3 di IE10 supporta l'API di cronologia!Details
+1 per riferimento a caniuse> non visto quel sito prima. Grazie! – gelviis
Ad oggi, la cronologia di IE10 ha un ** bug ** che lo rende inutile, l'evento popstate non viene attivato. Dettagli qui: http://stackoverflow.com/questions/14698299/internet-explorer-10-and-popstate-not-binding/15809188#15809188 – citykid
IE9 non lo supporta.
È tuttavia possibile utilizzare una soluzione utilizzando Polyfill per ottenere la funzionalità - History.js https://github.com/browserstate/history.js.
Modernizr fare un buon lavoro inserendo HTML 5 Polyfills qui https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills.
L'avvertenza è che aggiungerà una stringa di query all'URL nei browser che supportano solo le funzionalità di HTML 4.
IE10 lo supporterà. Aggiornamento –
per googlers, IE10 lo supporta. – xdumaine
come i commenti nella domanda precedente, popstate non viene attivato in IE10 –
Internet Explorer 10 introduce il supporto per l'interfaccia Cronologia della specifica di bozza HTML5, che include metodi che consentono di gestire lo stack cronologico e l'URL di un sito.
il link originale: https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx
Btw si può ottenere tale errore in ragione del percorso assoluto in pushState(). Quando ho impostato il relativo errore di percorso era scomparso.
Per quello che vale [History.js] (https://github.com/balupton/History.js) fornisce la stessa API HTML5 mentre discretamente degrada qualsiasi browser che non lo supporta (incluso il supporto per dati e titoli e replaceState). L'utilizzo di questo significherebbe che non si dovrà modificare il codice per le modifiche di IE9. – balupton
Deprimendo effettivamente se IE9 non lo aggiunge. –
@balupton Grazie per aver creato History.js. Rende il mondo un posto migliore. –