¿Alguien sabe si Internet Explorer admite los métodos history.pushState()
y history.replaceState()
para manipulating browser history? Teniendo en cuenta que estos solo se están implementando en Firefox 4, no estoy conteniendo la respiración, pero ¿alguien sabe si vendrán en IE9?¿Internet Explorer es compatible con pushState y replaceState?
Respuesta
Probablemente el mejor sitio para la información de compatibilidad del navegador es CanIUse. Aquí está la sección en history.
Resumen - IE9: no, IE10: sí (a partir de previsualización plataforma 3)
La primera Release Candidate de IE9 (lanzado decimo feb 2011) no es compatible con history.pushState o history.replaceState . En general, no se agregan nuevas funciones después de que un producto llega a la etapa RC, por lo que es muy poco probable que el IE9 final admita estos métodos.
Microsoft tiene una buena overview for developers de las características que tiene IE9.
Actualización: Internet Explorer 9 fue lanzado (el 14 de marzo de 2011) y, definitivamente, no es compatible con history.pushState()
o history.replaceState()
.
Actualización 2: La vista previa de la plataforma actual de IE10 still does not support pushState/replaceState.
Actualización 3: La vista previa de plataforma 3 de IE10 es compatible con la API de historial.Details
+1 para referencia a caniuse> no visto ese sitio antes. ¡Gracias! – gelviis
A partir de hoy, la historia de IE10 tiene un ** error ** que lo hace inútil, el evento popstate no se dispara. Detalles aquí: http://stackoverflow.com/questions/14698299/internet-explorer-10-and-popstate-not-binding/15809188#15809188 – citykid
IE9 no lo admite.
Sin embargo, puede utilizar una solución utilizando un Polyfill para obtener la funcionalidad - History.js https://github.com/browserstate/history.js.
Modernizr haga un buen trabajo enlistar HTML 5 Polyfills aquí https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills.
La advertencia es que agregará una cadena de consulta a su URL en los navegadores que solo son compatibles con las características de HTML 4.
IE10 lo admitirá. –
Actualización para googlers, IE10 no lo admite. – xdumaine
a partir de los comentarios en la pregunta anterior, popstate no se activa en IE10 –
Internet Explorer 10 presenta compatibilidad con la interfaz de historial de la especificación de borrador HTML5, que incluye métodos que le permiten administrar la pila de historial y la URL de un sitio.
El enlace: https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx
Por cierto que se puede obtener dicho error en la razón de la ruta absoluta en pushState(). Cuando establecí el error de ruta relativa desapareció.
- 1. CORS con Internet Explorer: ¿es compatible con la autenticación básica?
- 2. Problemas con el hash History.js en Internet Explorer y el problema de pushState
- 3. "Permiso denegado" con Internet Explorer y jQuery
- 4. mensaje() con Internet Explorer 8
- 5. does internet explorer admite e.preventDefault
- 6. ¿Es IE9 compatible con console.log, y es una función real?
- 7. Internet Explorer 8 + Deflate
- 8. Internet Explorer toDataURL() alternativa?
- 9. cloneNode en Internet Explorer
- 10. addEventListener en Internet Explorer
- 11. Internet Explorer 9 VHD
- 12. Long Polling - Problemas con Internet Explorer 8
- 13. setTimeout Internet Explorer
- 14. Internet Explorer innerHeight
- 15. Interacción de VBA con Internet Explorer
- 16. Problema con el relleno de Internet Explorer
- 17. Problema con JSON en Internet Explorer 7
- 18. Problema con ScriptManager.RegisterClientScriptBlock y jQuery en Internet Explorer 8
- 19. Internet Explorer http referer problema
- 20. Altura: Auto en Internet Explorer 8 y por debajo
- 21. Internet Explorer ignorando mis cookies
- 22. Modo de pantalla completa de Internet Explorer?
- 23. Flot e Internet Explorer 9?
- 24. desastre de compatibilidad de Internet Explorer
- 25. Degradados en Internet Explorer 9
- 26. caracteres Unicode e Internet Explorer
- 27. Plugin NPAPI en Internet Explorer?
- 28. Etiquetas y campos ocultos en Internet Explorer (y jquery)
- 29. Internet Explorer 6 e Internet Explorer 7 en el mismo equipo para la depuración
- 30. marcos Simulación con carga jQuery() y pushState()
Por lo que vale [History.js] (https://github.com/balupton/History.js) proporciona la misma API de HTML5 al degradar con gracia cualquier navegador que no lo admita (incluido el soporte de datos y títulos) y reemplazar funcionalidad de estado). Usar eso significaría que no tendría que cambiar su código para los cambios de IE9. – balupton
Deprimiendo de hecho si IE9 no agrega esto. –
@balupton Gracias por hacer History.js. Hace que el mundo sea un lugar mejor. –