2009-03-24 19 views
6

Come si può impostare un cookie su un dominio diverso che chiama il mio sito con una chiamata javascript? Funziona in FF3, ma non in IE6.Come impostare un cookie su un dominio separato in Rails

Il mio server viene chiamato da un tag javascript su un sito e dominio separati. Il risultato restituisce javascript che popola la loro pagina con i dati (è un widget). Sto cercando di impostare un cookie utilizzando domain = ". Mydomain.com" e percorso = "/". Funziona per Firefox, ma non funzionerà in IE. Funziona bene in IE se provo la chiamata javascript dal mio dominio.

Qualcuno sa come ottenere l'impostazione dei cookie tra domini per funzionare in IE, utilizzando Rails?

risposta

9

Finché il server è l'impostazione di un cookie nel proprio dominio o da un sottodominio del suo dominio, questo dovrebbe funzionare

cookies[cookie_name] = { 
    :value => 'a value', 
    :expires => 1.year.from_now, 
    :domain => 'example.com' 
} 

Non funzionerà per altri domini.

Per arrivare a questo lavoro in IE6 potrebbe essere necessario un colpo di testa P3P politica valida

Qualcosa di simile inviato come un colpo di testa dovrebbe farlo:

headers["p3p"] = 'CP="CAO PSA OUR"' 
+0

è così che ho impostato: biscotti [cookie_name ] = {: value => 'x',: expires => 1.day.from_now,: domain => '.mydomain.com'} E sì, funziona per Firefox. In realtà pensavo che non sarebbe successo, ma è così. Ma in IE, vedo che tenta di impostare l'intestazione, ma il cookie non è lì dopo il caricamento della pagina. – Zack

+0

Come lo sai? Puoi pubblicare il tuo codice che ti sta dicendo che il cookie non è lì? – DanSingerman

+0

Sto utilizzando Fidler per vedere le chiamate al mio dominio e guardare le risposte dell'intestazione. Sto usando la barra degli strumenti di IE Developer per guardare i cookie sulla mia pagina (e la loro) ma non esiste. Cerco anche di prendere il cookie quando torno al mio sito e non esiste. In FF tutto funziona bene. – Zack

Problemi correlati