 noticeContainer = document.createElement 'div'
 noticeContainer.className = 'notices'
 
-loadFileReady =  () ->
+# No localStorage in IE from file:/// protocol
+if window.localStorage
+    window.localData = window.localStorage
+else
+    window.localData = {}
+    error 'No localStorage. All changes will be lost!'
+
+loadFileReady = () ->
   constructHelpText()
 
   value = ''
   if window.mozillaLoadFile
-    if localStorage.value
+    if localData.value
       inform "Found data to transfer from browser local storage..."
-      saveContents localStorage.value
-      value = localStorage.value
-      delete localStorage.value
+      saveContents localData.value
+      value = localData.value
+      delete localData.value
     else
       inform "Loaded from #{path}."
       value = window.mozillaLoadFile path
-  else if localStorage.value
+  else if localData.value
     warn 'Cannot read from local file system.
           Loaded from browser local storage instead.'
-    value = localStorage.value
+    value = localData.value
     window.documentWritten ?= false
     if not window.documentWritten
       document.write value

    noticeContainer.removeChild noticeBar
    adjustSize()
    delete displayedMessages[id]
    localStorage["message-suppressed:#{id}"] = true

  noticeContainer.appendChild noticeBar
  adjustSize()

    if location.protocol isnt 'file:'
      msg += '<li>Open from your local computer'

    if msg then warn "This page may not work well in this browser.
                      (Did you know this file can save itself?)<br>
                      To ensure full functionality:<br>
                      <ol class=table-list>#{msg}</ol>"
