views:

130

answers:

2

I am trying to use html5 feature 'localStorage'
according to this blog it can be done using IE8 however when I am trying use it I get javascript error the 'localStorage is null or not an object'

So my question- can it be used by IE8 out-of-the-box or not?
Here is my code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
<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>
+1  A: 

It does support localStorage, though you need to be in IE8 mode (this will not work in IE7 mode).

To check that you're working in IE8 mode, load up the developer console. At the top, make sure that IE8 mode is selected. Standards mode would also be nice.

One thing that you also want to make sure of is that you're using the HTML5 doctype. You shouldn't be able to use an XHTML doctype with HTML5 features.

<!DOCTYPE html>

Using this doctype should not impact your browser support.

Also, make sure you access window.localStorage. It shouldn't be an issue, but IE has been known to host weirder issues. Perhaps it's looking for a locally scoped localStorage object? Who knows.

mattbasta
PPK and my research indicates localStorage works fine in IE8's compatability mode.
Paul Irish
when I used it inside web application and not by open a hard-disk file it worked
Spiderman
A: 

the comment of musicfreak was correct. Because this feature requires domain, I had to use it only through a live url (at least localhost) and by opening it as a file from a disk.

There is no need to add window.localStorage IE8 recognise localStorage as well.

Spiderman