HTML5本地存储数据未反映在IE 11中的活动选项卡/窗口中

时间:2014-03-19 21:45:46

标签: asp.net html5 local-storage internet-explorer-11

我们创建了一项功能,我们为用户提供在离线模式下处理表单的功能。 我们使用HTML 5本地存储来存储所有离线数据。 所有表单都有自己的html文件(例如:form-1.html,form-2.html。)

我们有一个父html页面,它使用 iframe 根据从下拉列表中选择的表单加载所需的html文件。 用户在离线模式下进行修改后,用户可以通过登录ASP.Net网站同步他们的更改。

我们面临的问题是,当用户将其更改同步到ASP.Net网站时,用户在离线模式下修改的本地存储副本不同步。 简而言之,当我们在登录ASP.Net网站时检查浏览器IE控制台中的本地存储时,它并不反映在离线模式下对本地存储所做的更改。

父HTML页面 ASP.Net网页都来自同一域。 我看到这篇文章说这是一个正在进行中的问题,并且在IE 11中尚未修复。

IE and Local Storage Issues 请参阅第3章。

有没有人有同样的经历。?

有什么解决方法吗?

2 个答案:

答案 0 :(得分:1)

我测试了很多想法,因为我为onstorage属性附加了一个空的事件处理程序!

WindowEventHandlers.onstorage属性包含在存储事件触发时运行的事件处理程序。更改存储区域时会发生这种情况(例如,存储新项目。)

这是我的代码

    window.onstorage = function(e){};

微软很清楚这个问题,但是大约3年后,仍然没有修复,可能永远不会。更多信息here

答案 1 :(得分:0)

这是一个已知错误:https://connect.microsoft.com/IE/feedback/details/812563/ie-11-local-storage-synchronization-issues

错误报告中添加了一个解决方法,您可以使用indexedDB,它在帧之间同步。但在创建数据库之前,用户需要为您的Web应用程序授予创建数据库的权限。