2008-12-07 14 views
5

Necesito una forma de esconder algunos datos que son globales para el navegador. Si abro una nueva ventana con una URL de mi aplicación, p. a través de un marcador, necesito acceder a algunos datos que se crearon en otra ventana y nunca se enviaron al servidor.Use cookies sin enviarlas de vuelta al servidor

Por lo que puedo decir, lo único que es global para el navegador y no solo una ventana (como window.name) es una cookie. El problema con el que me estoy enfrentando es que si configuro una cookie, la cookie se envía con cada solicitud al servidor, pero nunca quiero esta información en el cable. ¿Hay alguna forma de establecer una cookie y simplemente usarla como un cubo para almacenar algunos datos y nunca enviar esos datos al servidor?

Respuesta

1

¿Hay alguna forma de establecer una cookie y simplemente usarla como un cubo para almacenar algunos datos y nunca enviar esos datos al servidor?

Tendrá que mirar en un plugin que proporciona la facilidad de almacenamiento fuera de línea dedicada, o utilizar la API de almacenamiento HTML5 y decirle a todos a actualizar sus navegadores

Si usted decide ir plugin de la ruta, por lo que yo soy consciente de que tiene 3 opciones:

  1. Google Gears
  2. flash - que COU - que tiene una instalación de almacenamiento fuera de línea Escribir una pequeña aplicación flash para almacenar cosas usando esta función, luego interoperar con ella desde javascript.
  3. Silverlight también tiene almacenamiento sin conexión: al igual que con flash, puede escribir una pequeña aplicación para hacer el almacenamiento, luego interoperar con ella desde javascript.

Probablemente debería considerar el uso del flash primero, ya que todo el mundo ya lo tiene.

El desarrollo sería mucho más fácil si utilizara Silverlight. No está tan ampliamente instalado, pero se está extendiendo bastante rápido. Lo último que supe es que algo así como el 30% de los navegadores lo instalaron, lo que es bastante impresionante.

Google Gears desafortunadamente sería un tercero distante. La gente va a instalar flash y Silverlight por otros motivos, pero nadie tiene engranajes.

* Este es un presupuesto totalmente de fundamento, pero parece encajar con lo que he visto en los ordenadores de diferentes personas, etc.

+0

Gracias por su respuesta. Las cookies no son una solución de almacenamiento global. lol. :-) –

0

¿Por qué no acaba de leer un campo en la ventana principal usando window.opener? O si tiene tres ventanas ejecutándose - padre y dos hijos que creo que podría estar implicando, entonces lea/escriba en un campo oculto en el padre de los hijos.

+0

Es de suponer que no hay padres. Mi suposición es que si alguien abre un enlace desde un marcador, esa ventana no tiene padre. ¿Es eso correcto? –

+0

A continuación, abra una ventana secundaria de la pantalla donde no se pueda ver y utilícela para guardar sus datos. – Cruachan

3

La API de almacenamiento de HTML 5 parece exactamente lo que quiere aquí, pero desafortunadamente solo es compatible con un puñado de navegadores en este momento.

+0

Sí, creo que tienes razón. Esto es lo que intento fingir con las cookies. –

1

¿Puede exigir que sus usuarios instalen Google Gears?? Es una API de JavaScript que le permite almacenar información local, también le permite mantenerse entre sesiones, lo que puede ser útil para su aplicación.

+0

Eso sería útil y definitivamente me gustaría integrar Google Gears en mi aplicación para que también funcione fuera de línea. Pero nunca necesitaría esto. Parece que tengo que comprometerme en esto. :-( –

0

Parece que su aplicación se está ejecutando al 100% local, si ese es el caso, el navegador no es el camino a seguir de todos modos. Las cookies se pueden eliminar fácilmente. Si su aplicación no es local, el servidor web debe ser el que proporciona la información. Las cookies nunca son la forma correcta de almacenar información sensible o información que debería persistir durante períodos de tiempo más largos.

+0

No es 100% local, pero está hablando con una API REST, lo que significa que el cliente necesita almacenar algún estado de vez en cuando. Si quiero permitir que los usuarios abran páginas fuera de mi aplicación, entonces necesito algún tipo de of global state. –

+0

¿Qué pasa con el envío de cookies al servidor? Las cookies solo se envían al servidor en la url en la que se crearon. –

Cuestiones relacionadas