Devo salvare tutti i cookie nel mio browser utilizzando JavaScript. Come si può fare?
Devo salvare tutti i cookie nel mio browser utilizzando JavaScript. Come si può fare?
Risposte:
Puoi accedere ai cookie solo per un sito specifico. Usando document.cookie
otterrai un elenco di coppie chiave = valore con escape separate da un punto e virgola.
secret=do%20not%20tell%you;last_visit=1225445171794
Per semplificare l'accesso, devi analizzare la stringa e annullare l'escape di tutte le voci:
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
Quindi potresti scrivere in seguito:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
cookie.document.cookie
proprietà, che contiene un elenco di coppie separate da punto e virgolaname=value
.Non puoi. In base alla progettazione, per motivi di sicurezza, puoi accedere solo ai cookie impostati dal tuo sito. StackOverflow non può vedere i cookie impostati da UserVoice né quelli impostati da Amazon.
Per recuperare tutti i cookie per il documento corrente aperti nel browser, utilizzi nuovamente la document.cookie
proprietà.
Approccio moderno.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Poiché il titolo non specificava che doveva essere programmatico, presumo che si trattasse di un vero problema di debug / gestione della privacy e la soluzione dipende dal browser e richiede un browser con pedaggio di gestione dei cookie dettagliato e / o un modulo di debug o un plug-in / estensione. Ne elencherò uno e chiederò ad altre persone di scrivere su browser che conoscono in dettaglio e per favore sii preciso con le versioni.
Cromo, costruzione in ferro (SRWare Iron 4.0.280)
Il menu Strumenti (strumenti): Opzioni / Roba da smanettoni / [Mostra cookie e permessi dei siti web] Per i domini / siti correlati, digita il suffisso nella casella di ricerca (come .foo.tv). Avvertenza: quando si dispone di un nodo (sito o cookie) evidenziato tramite clic, utilizzare solo [Rimuovi] per eliminare sottostrutture specifiche. L'uso di [Rimuovi tutto] eliminerà comunque i cookie per tutti i siti selezionati dalla ricerca e sprecherà la sessione di debug.
Se sviluppi estensioni del browser puoi provare browser.cookies.getAll ()
Quello che stai chiedendo è possibile; ma funzionerà solo su un browser specifico. Devi sviluppare un'app di estensione del browser per raggiungere questo obiettivo. Puoi leggere di più sull'API di Chrome per capire meglio. https://developer.chrome.com/extensions/cookies