javascript - localstorage - sessionstorage
¿IE8 out-of-the-box tiene soporte para ''localStorage''? (5)
El concepto de almacenamiento local debería funcionar en IE8 +.
Todo lo que tiene que hacer es poner su código fuente en el servidor y ejecutarlo.
Estoy tratando de usar la función HTML5 localStorage
. De acuerdo con este blog, se puede hacer usando IE8, sin embargo, cuando trato de usarlo obtengo un error de javascript ''localStorage is null or not an object''
Entonces, mi pregunta: ¿puede ser utilizado localStorage
por IE8 out-of-the-box? Aquí está mi código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<title>IE8 - DOM Storage</title>
<script type="text/javascript">
function Save() {
localStorage.setItem(''key'',''value'');
}
</script>
</head>
<body>
<button onclick="Save();">
Save
</button>
</body>
</html>
Expandiendo sobre una buena respuesta anterior:
Tuve el mismo problema, ¡mal! ¡incluso IE10 falló! - y descubrí que la solución (para mí) tenía más que ver con mi entorno de desarrollo que con Internet Explorer. Lo que hice fue crear un archivo HTML y editarlo mucho usando un buen editor de texto. Podría hacer clic y arrastrar el archivo a un navegador para ver mi progreso en el desarrollo de la página, y luego simplemente actualizar la ventana del navegador, cuando actualicé / edité varias cosas en el archivo.
Resulta que para Chrome, Firefox y Opera, window.localStorage era un objeto válido, pero para Internet Explorer, estaba "indefinido" (como se ve en el depurador). Sin embargo, una vez que encendí un programa de servidor web (para "localhost") y lo usé para alimentar la página HTML al navegador, Internet Explorer proporcionó un objeto válido ("DispHTMLStorage") para window.localStorage. También tenga en cuenta que en Herramientas / Opciones / Avanzado para IE, hay una casilla de verificación "habilitar el almacenamiento DOM" - parece estar marcado por defecto, pero siempre es posible que algún usuario lo haya deshabilitado manualmente.
Intenta usar "IE = edge" en lugar de "IE = 8" en tu metaetiqueta compatible con x-ua
De Microsoft: ( link )
Use el siguiente valor para mostrar la página web en el modo EdgeHTML, que es el modo de estándares más alto admitido por Internet Explorer, desde Internet Explorer 6 hasta IE11.
<meta http-equiv="x-ua-compatible" content="IE=edge" >
el comentario de musicfreak fue correcto. Debido a que esta característica requiere dominio, tuve que usarlo solo a través de una url en vivo (al menos localhost) y no abriéndolo como un archivo de un disco.
No es necesario agregar window.localStorage
ya que IE8 también reconoce localStorage
.
localStorage
, aunque necesita estar en modo IE8 (esto no funcionará en el modo IE7).
Para comprobar que está trabajando en el modo IE8, cargue la consola de desarrollador. En la parte superior, asegúrese de que esté seleccionado el modo IE8. El modo estándar también sería bueno.
Una cosa de la que también querrá asegurarse es que esté utilizando el doctype HTML5. No debería poder usar un doctype XHTML con características HTML5.
<!DOCTYPE html>
El uso de este tipo de documento no debe afectar el soporte de su navegador.
Además, asegúrese de acceder a window.localStorage
. No debería ser un problema, pero se sabe que IE es el anfitrión de problemas más extraños. ¿Quizás está buscando un objeto localStorage
ámbito local? Quién sabe.