HTML5代码在IE9中不起作用
下面的简单代码可以在Firefox(12.0)中使用,但在IE9中似乎不起作用,即使IE9支持本地存储。注意如何发出警报(localStorage.lastname);没有显示任何结果。我想知道在IE9中使用localStorage是否存在已知的问题,因为文档确实说它是受支持的HTML5代码在IE9中不起作用,html,internet-explorer-9,local-storage,Html,Internet Explorer 9,Local Storage,下面的简单代码可以在Firefox(12.0)中使用,但在IE9中似乎不起作用,即使IE9支持本地存储。注意如何发出警报(localStorage.lastname);没有显示任何结果。我想知道在IE9中使用localStorage是否存在已知的问题,因为文档确实说它是受支持的 <!DOCTYPE html> <html> <body> <script> if(typeof(Storage)!=="undef
<!DOCTYPE html>
<html>
<body>
<script>
if(typeof(Storage)!=="undefined")
{
alert('local storage')
localStorage.lastname="Smith";
alert(localStorage.lastname);
}
else
{
alert("Sorry, your browser does not support web storage...")
}
</script>
</body>
</html>
if(类型(存储)!=“未定义”)
{
警报(“本地存储”)
localStorage.lastname=“Smith”;
警报(localStorage.lastname);
}
其他的
{
警报(“抱歉,您的浏览器不支持web存储…”)
}
切勿直接在localstorage中设置/获取项目!为此,请使用适当的方法:
localStorage.setItem(key,value)
localStorage.getItem(key)
localStorage.removeItem(key)
这解决了你的IE问题,你将幸福地生活:-D
(请注意,这些值是以字符串形式存储的!)如果您将HTML文件托管在web服务器上,您的代码将在IE上正常工作 如果您正在IE中打开file://url,则本地存储将是未定义的。
尝试使用if(typeof(localStorage)!=“未定义”)确认
您将得到“对不起,您的浏览器不支持web存储…”事实上,它甚至不能在web服务器上工作。我在WebSphereApplicationServer上运行一个web应用程序,在ie9上也遇到了同样的问题。它在铬上工作良好
您可以尝试此页面上的内容:当我在控制台中运行
typeof(Storage)
时,我的IE9会显示“object”
。当您运行该命令时,控制台会说什么?我很确定您正在尝试在本地运行HTML文件。试着从web服务器上运行它。我不明白它的意思。它说的是“本地存储”。没有显示警报(localStorage.lastname)思想的upf。它在FireFox 12.0中运行良好。您需要head
元素吗?AFAIK需要title
元素,以便在上下文之外使用时识别文档。你能试着添加一些标题吗…,看看这是否有区别?你是从一个文件中测试的吗?如果你把你的东西上传到一个web服务器上,事情可能就开始起作用了……嗨,Christoph,我尝试了以下方法,但仍然不起作用:if(typeof(Storage)!=“undefined”){alert('Allows localStorage');localStorage.setItem(“lastname”);alert(localStorage.getItem(“lastname”);}else{alert(“对不起,您的浏览器不支持web存储…”)}@NatePet除了“不工作”不是最准确的错误描述之外,它对我来说是有效的:IMO,使用“localStorage.key=value”而不是使用setItem()。@vivek.m我想这和“我不需要setter和getter”的说法是一样的,我想自己操纵封装对象的数据“…当然,如果你真的想的话,你可以这么做。。。