簡體   English   中英

IE8開箱即用是否支持“ localStorage”

[英]Does IE8 out-of-the-box have support for 'localStorage'

我正在嘗試使用HTML5功能localStorage 根據此博客 ,可以使用IE8完成操作,但是當我嘗試使用它時,出現了JavaScript錯誤'localStorage is null or not an object'

所以我的問題是:IE8是否可以直接使用localStorage 這是我的代碼:

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

它確實支持localStorage ,盡管您需要處於IE8模式(這在IE7模式下不起作用)。

要檢查您是否在IE8模式下工作,請加載開發人員控制台。 在頂部,確保已選擇IE8模式。 標准模式也很好。

您還需要確保的一件事是您正在使用HTML5文檔類型。 您不應將具有HTML5功能的XHTML文檔類型使用。

<!DOCTYPE html>

使用此文檔類型不會影響您的瀏覽器支持。

另外,請確保您訪問window.localStorage 這不應該是一個問題,但是眾所周知,IE會帶來一些奇怪的問題。 也許它正在尋找本地范圍的localStorage對象? 誰知道。

musicfreak的評論是正確的。 因為此功能需要域,所以我只能通過實時URL(至少是localhost)使用它,而不必通過磁盤將其作為文件打開。

無需添加window.localStorage因為IE8也可以識別localStorage

擴展先前的好答案:

我遇到了同樣的問題-更糟! 甚至IE10都失敗了!-我發現解決方案(對我而言)與開發環境的關系比Internet Explorer多。 我要做的是創建一個HTML文件,並使用良好的文本編輯器對其進行大量編輯。 我可以將文件單擊到瀏覽器中,以查看我在開發頁面方面的進度,稍后,當我更新/編輯文件中的各種內容時,只需刷新瀏覽器窗口即可。

事實證明,對於Chrome,Firefox和Opera,window.localStorage是有效的對象,但對於Internet Explorer,它是“未定義”的(如調試器中所示)。 但是,一旦我啟動了一個Web服務器程序(用於“ localhost”),並使用該程序將HTML頁面提供給瀏覽器,Internet Explorer就為window.localStorage提供了一個有效的對象(“ DispHTMLStorage”)。 還要注意,在IE的工具/選項/高級中,有一個復選框“啟用DOM存儲”-默認情況下似乎已選中,但是某些用戶總是有可能手動禁用了它。

嘗試在與x-ua兼容的元標記中使用“ IE = edge”代替“ IE = 8”
從Microsoft:( 鏈接

使用以下值從Internet Explorer 6到IE11以EdgeHTML模式顯示網頁,這是Internet Explorer支持的最高標准模式。

<meta http-equiv="x-ua-compatible" content="IE=edge" >

本地存儲概念應在IE8 +上運行。

您要做的就是將源代碼放在服務器上並運行它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM