如何在用户上跨浏览器存储数据's机器

How to store data cross-browser on user's machine?

本文关键字:数据 机器 存储 浏览器 用户      更新时间:2023-09-26

问题:

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

要求:

  • 支持IE9

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

还有其他建议吗?

对于HTML5和一些新的JS API,可能有一些选项。

新的文件API支持IE9之外的所有内容。正如在这个问题中所讨论的,您可以使用ActiveX或Java来填写IE9支持,这应该可以做到。由于沙盒的原因,这可能不会立即允许浏览器完全互操作。

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

您可以使用类似的技术来保存数据,既可以保存到文件沙盒,也可以打开一个特殊格式的链接(download属性)来指示浏览器应该保存文件。同样,您将遇到需要ActiveX或Java填写的IE9问题。

您可以看到从<input type="file">读取文件的示例,这可能是您的最佳选择。还有多个库用于文件上传(注意,我个人没有使用过其中任何一个)。