Preciso ter todos os cookies armazenados no meu navegador usando JavaScript. Como pode ser feito?
Preciso ter todos os cookies armazenados no meu navegador usando JavaScript. Como pode ser feito?
Respostas:
Você só pode acessar os cookies de um site específico. Usando, document.cookie
você obterá uma lista de pares chave = valor de escape separados por um ponto e vírgula.
secret=do%20not%20tell%you;last_visit=1225445171794
Para simplificar o acesso, você deve analisar a string e retirar o escape de todas as entradas:
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;
}
Então você pode escrever mais tarde:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
cookies.document.cookie
propriedade, que contém uma lista de pares separados por ponto e vírgulaname=value
.Você não pode. Por design, para fins de segurança, você pode acessar apenas os cookies definidos pelo seu site. StackOverflow não pode ver os cookies definidos pelo UserVoice nem aqueles definidos pela Amazon.
Para recuperar todos os cookies do documento atual aberto no navegador, use novamente a document.cookie
propriedade.
Abordagem moderna.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Uma vez que o título não especifica que deve ser programático, presumo que seja um problema genuíno de depuração / gerenciamento de privacidade e a solução depende do navegador e requer um navegador com ferramenta de gerenciamento de cookies detalhada e / ou um módulo de depuração ou um plug-in / extensão. Vou listar um e pedir a outras pessoas que escrevam sobre navegadores que conhecem em detalhes e sejam precisos com as versões.
Cromo, construção de ferro (SRWare Iron 4.0.280)
O menu de ferramentas (ferramentas): Opções / Configurações avançadas / [Mostrar cookies e permissões de sites] Para domínios / sites relacionados, digite o sufixo na caixa de pesquisa (como .foo.tv). Advertência: quando você tiver um nó (site ou cookie) destacado por clique, use [Remover] para eliminar subárvores específicas. Usar [Remover tudo] ainda excluirá os cookies de todos os sites selecionados por pesquisa e desperdiçará sua sessão de depuração.
Se você desenvolve extensões de navegador, pode tentar browser.cookies.getAll ()
O que você está pedindo é possível; mas isso só funcionará em um navegador específico. Você deve desenvolver um aplicativo de extensão de navegador para conseguir isso. Você pode ler mais sobre a API do Chrome para entender melhor. https://developer.chrome.com/extensions/cookies