Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE8开箱即用是否支持';本地存储';_Javascript_Html_Internet Explorer_Internet Explorer 8 - Fatal编程技术网

Javascript IE8开箱即用是否支持';本地存储';

Javascript IE8开箱即用是否支持';本地存储';,javascript,html,internet-explorer,internet-explorer-8,Javascript,Html,Internet Explorer,Internet Explorer 8,我正在尝试使用HTML5功能localStorage。据了解,使用IE8可以实现这一点,但是当我尝试使用它时,会出现javascript错误“localStorage为null或不是对象” 所以我的问题是:localStorage可以由IE8开箱即用吗?这是我的密码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio

我正在尝试使用HTML5功能
localStorage
。据了解,使用IE8可以实现这一点,但是当我尝试使用它时,会出现javascript错误“localStorage为null或不是对象”

所以我的问题是:
localStorage
可以由IE8开箱即用吗?这是我的密码:

<!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>

IE8-DOM存储
函数Save(){
setItem('key','value');
}        
拯救

它确实支持
本地存储
,但您需要处于IE8模式(这在IE7模式下不起作用)

要检查您是否在IE8模式下工作,请加载开发人员控制台。在顶部,确保选择了IE8模式。标准模式也不错

您还需要确保的一点是,您正在使用HTML5 doctype。您不应该使用带有HTML5特性的XHTML doctype

<!DOCTYPE html>

使用此doctype不应影响您的浏览器支持


另外,请确保访问
window.localStorage
。这不应该是一个问题,但IE已经被称为主机奇怪的问题。也许它正在寻找一个本地范围的
localStorage
对象?谁知道呢。

musicfreak的评论是正确的。 因为此功能需要域,所以我只能通过一个实时url(至少是本地主机)使用它,而不能通过从磁盘将其作为文件打开


无需添加
窗口。localStorage
,因为IE8也只识别
localStorage

在前面一个好答案的基础上扩展:

我也有同样的问题——更糟!甚至IE10也失败了我发现解决方案(对我来说)与我的开发环境有关,而不是与Internet Explorer有关。我所做的是创建一个HTML文件,并使用一个好的文本编辑器对其进行大量编辑。我可以单击并将文件拖动到浏览器中,以查看开发页面的进度,然后在更新/编辑文件中的各种内容时,只需刷新浏览器窗口即可


事实证明,对于Chrome、Firefox和Opera,window.localStorage是一个有效的对象,但对于InternetExplorer,它是“未定义的”(如调试器中所示)。然而,一旦我启动了一个Web服务器程序(用于“localhost”),并使用它将HTML页面提供给浏览器,Internet Explorer就为window.localStorage提供了一个有效的对象(“DispHTMLStorage”)。还请注意,在IE的工具/选项/高级中,有一个复选框“启用DOM存储”--默认情况下,它似乎是选中的,但总有可能是某些用户手动禁用了它。

本地存储概念应该适用于IE8+

您所要做的就是将源代码放在服务器上并运行它。

尝试在您的x-ua兼容元标记中使用“IE=edge”而不是“IE=8”
来自微软:()

使用以下值以EdgeHTML模式显示网页,这是Internet Explorer支持的从Internet Explorer 6到IE11的最高标准模式



这可能与您是从本地文件而不是域执行此操作有关,因为
localStorage
依赖于域名。尝试托管网页online.PPK,我的研究表明localStorage在IE8的兼容模式下工作良好。当我在web应用程序中使用它而不是打开硬盘文件时,它工作正常。这是不正确的评论。IE8不能识别window.localstorage谢谢。我正在尝试使用file://,但是对于
window.localStorage
localStorage
<meta http-equiv="x-ua-compatible" content="IE=edge" >