如何跨浏览器在用户的机器上存储数据?

时间:2014-11-03 13:27:39

标签: javascript local-storage

问题:

用户已安装N个浏览器。作为一个应用程序,我想存储所有已安装浏览器之间共享的数据。

要求:

  • 支持IE9

目前可能的解决方案:使用polyfill的WebSQL。

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

使用HTML5和一些新的JS API,可能会有一些选项。

新的File API支持everything but IE9。正如this question中所讨论的,您可以使用ActiveX或Java填写IE9支持,这应该可以解决问题。由于沙盒,这可能不会立即允许浏览器完全互操作。

如果选择用户输入,我建议让用户在加载应用程序时选择并加载他们的首选项文件。通过打开本机文件浏览对话框,您可以允许用户选择他们想要的任何文件,并可以使用文件API加载内容并处理它们。

您可以使用类似的方法保存数据,保存到文件沙箱或打开特殊格式的链接(the download attribute)以指示浏览器应保存文件。同样,您将遇到需要ActiveX或Java填写的IE9问题。

您可以看到从<input type="file">读取文件的an example,这可能是您的最佳选择。 multiple还有libraries file upload(注意,我没有亲自使用其中任何一种)。