我需要一种方法来存储浏览器的全局数据。如果我使用应用中的网址打开一个新窗口,例如通过书签,我需要访问在另一个窗口中创建的一些数据,而不是发送到服务器。
据我所知,唯一对浏览器而言只是全局的东西,而不仅仅是一个窗口(如window.name),是一个cookie。我遇到的问题是,如果我设置一个cookie,然后将cookie与每个请求一起发送到服务器,但我不希望这些数据在线路上。有没有办法设置一个cookie,只是将它纯粹用作存储一些数据的存储桶,而不是将数据发送到服务器?
答案 0 :(得分:3)
HTML 5存储API看起来就像你想要的那样,但遗憾的是它现在只有少数几种浏览器支持。
答案 1 :(得分:1)
您是否可以强制要求用户安装Google Gears? 这是一个允许您存储本地信息的JavaScript API,也可以让您在会话之间保留,这可能对您的应用有用。
答案 2 :(得分:1)
有没有办法设置一个cookie,只是将它纯粹用作存储一些数据的存储桶,而不是将数据发送到服务器?
没有
您需要查看提供专用离线存储设施的插件,或使用HTML5存储API并告诉所有人升级其浏览器
如果您决定采用插件路线,据我所知您有3种选择:
我可能会先考虑使用flash,因为每个人都已经拥有它。
如果你使用silverlight,开发可能会容易得多。它没有广泛安装,但它正在快速传播。最后我听说*有30%的浏览器安装了它,这非常令人印象深刻。
不幸的是,Google齿轮将成为遥远的第三位。人们将出于其他原因安装闪光灯和silverlight,但没有人有装备。*这是一个完全未经证实的引用,但似乎与我在各种人的计算机上看到的内容相符。
答案 3 :(得分:0)
为什么不使用window.opener在父窗口中读取字段?或者,如果你有三个窗口正在运行 - 我认为你可能暗示父母和两个孩子,那么读取/写入来自孩子的父母中的隐藏字段。
答案 4 :(得分:0)
听起来你的应用程序正在100%本地运行,如果是这种情况,浏览器无论如何都不是。 Cookie可以轻松删除。如果您的应用不是本地应用,则网络服务器应该是提供信息的应用。 Cookie绝不是存储敏感信息或信息的正确方法,这些信息或信息应该持续更长时间。