3

我正在创建一个简单的应用程序,用户将其下载到他/她的计算机上,然后使用硬盘驱动器上的浏览器打开它。我需要它能够使用任何标准浏览器来存储数据。(尽管数据不必在浏览器之间访问)。

如此链接所述,如果使用 HTML5 的本地存储,如果站点的 url 类似于file:///C:/Web/mylocaltodo.html. 它说它可以通过使用'localhost'来完成,但它提供的示例应用程序并没有说明如何做到这一点。

是否可以在用户在本地主机上安装 Web 服务器的情况下为离线站点本地保存数据?它是否适用于任何现代浏览器,包括 Internet Explorer?

谢谢

4

1 回答 1

6

尽管问题仍然很老,但在创建应在多个窗口之间同步的应用程序时,我遇到了类似的问题。

所以我只想和其他开发者分享我的经验,这样可以避免长时间寻找问题。

事实上,由于同源策略(通过 本地文件访问XMLHttpRequest),访问被拒绝读取localStorage,因此更改不会在窗口之间同步。

简而言之:如果您使用file:///as URL,它将无法同步 localStorage。使用一个简单的网络服务器和http://localhost/作为 URL,它会。

奇怪的行为,遗憾的是,javascript 控制台中没有错误消息。在离线尝试一些实验时请记住这一点localStorage,不要疯狂地在代码中搜索问题;-)

于 2013-08-02T16:03:52.727 回答