使用cookie而不将其发送回服务器

时间:2008-12-07 18:31:41

标签: cookies browser

我需要一种方法来存储浏览器的全局数据。如果我使用应用中的网址打开一个新窗口,例如通过书签,我需要访问在另一个窗口中创建的一些数据,而不是发送到服务器。

据我所知,唯一对浏览器而言只是全局的东西,而不仅仅是一个窗口(如window.name),是一个cookie。我遇到的问题是,如果我设置一个cookie,然后将cookie与每个请求一起发送到服务器,但我不希望这些数据在线路上。有没有办法设置一个cookie,只是将它纯粹用作存储一些数据的存储桶,而不是将数据发送到服务器?

5 个答案:

答案 0 :(得分:3)

HTML 5存储API看起来就像你想要的那样,但遗憾的是它现在只有少数几种浏览器支持。

答案 1 :(得分:1)

您是否可以强制要求用户安装Google Gears? 这是一个允许您存储本地信息的JavaScript API,也可以让您在会话之间保留,这可能对您的应用有用。

答案 2 :(得分:1)

  

有没有办法设置一个cookie,只是将它纯粹用作存储一些数据的存储桶,而不是将数据发送到服务器?

没有

您需要查看提供专用离线存储设施的插件,或使用HTML5存储API并告诉所有人升级其浏览器

如果您决定采用插件路线,据我所知您有3种选择:

  1. Google Gears
  2. Flash - 它有一个离线存储设施 - 您可以编写一个小型Flash应用程序来存储使用此工具的内容,然后通过javascript与其互操作。
  3. Silverlight也有离线存储 - 与flash一样,你可以编写一个小应用程序来进行存储,然后通过javascript与它互操作。
  4. 我可能会先考虑使用flash,因为每个人都已经拥有它。

    如果你使用silverlight,开发可能会容易得多。它没有广泛安装,但它正在快速传播。最后我听说*有30%的浏览器安装了它,这非常令人印象深刻。

    不幸的是,Google齿轮将成为遥远的第三位。人们将出于其他原因安装闪光灯和silverlight,但没有人有装备。

    *这是一个完全未经证实的引用,但似乎与我在各种人的计算机上看到的内容相符。

答案 3 :(得分:0)

为什么不使用window.opener在父窗口中读取字段?或者,如果你有三个窗口正在运行 - 我认为你可能暗示父母和两个孩子,那么读取/写入来自孩子的父母中的隐藏字段。

答案 4 :(得分:0)

听起来你的应用程序正在100%本地运行,如果是这种情况,浏览器无论如何都不是。 Cookie可以轻松删除。如果您的应用不是本地应用,则网络服务器应该是提供信息的应用。 Cookie绝不是存储敏感信息或信息的正确方法,这些信息或信息应该持续更长时间。