PROBLEMAS NA CRIA?ÃO DE COOKIES EM JS NO CHROME
Oi pessoal, tudo bem?
Estou criando um código em javascript para criação de Cookies em Javascript, testei no Mozila e funcionou perfeitamente, porém, no Chrome ele não está criando. Tem alguma forma de adaptar meu código para que seja possÃvel também a criação para browser como o Chrome? Segue meu código:
function writeCookie(name, value, days){
//Por padrão, não existe expiração, ou seja, o cookie é temporário
var expires = [Ô][Ô];
//Especifica o número de dias para guardar o cookie
if(days){ //if dias > 0 criar uma nova data
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//Tempo em milissegundos: Dias = 24 * minutos * segundos * milissegundos
expires = [Ô]; expires=[Ô] + date.toGMTString();//Data de expiração
}
if(value != [Ô][Ô] && value != null && value != [Ô]null[Ô]){
//Define o cookie com o nome, valor e data de expiração
document.cookie = name + [Ô]=[Ô] + value + expires + [Ô]; path=/[Ô];
}
}
function readCookie(name){
//Encontra o cookie especificado e retorna o seu valor
var searchName = name + [Ô]=[Ô];
var cookies = document.cookie.split([ô];[ô]);
for(var i=0; i < cookies.length; i++){
var c = cookies[i];
while(c.charAt(0) == [ô] [ô])
c = c.substring(1, c.length);
if(c.indexOf(searchName) == 0)
return c.substring(searchName.length, c.length);
}
return null;
}
function eraseCookie(name){
//Exclui o cookie
writeCookie(name, [Ô][Ô], -1);
}
Estou criando um código em javascript para criação de Cookies em Javascript, testei no Mozila e funcionou perfeitamente, porém, no Chrome ele não está criando. Tem alguma forma de adaptar meu código para que seja possÃvel também a criação para browser como o Chrome? Segue meu código:
function writeCookie(name, value, days){
//Por padrão, não existe expiração, ou seja, o cookie é temporário
var expires = [Ô][Ô];
//Especifica o número de dias para guardar o cookie
if(days){ //if dias > 0 criar uma nova data
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//Tempo em milissegundos: Dias = 24 * minutos * segundos * milissegundos
expires = [Ô]; expires=[Ô] + date.toGMTString();//Data de expiração
}
if(value != [Ô][Ô] && value != null && value != [Ô]null[Ô]){
//Define o cookie com o nome, valor e data de expiração
document.cookie = name + [Ô]=[Ô] + value + expires + [Ô]; path=/[Ô];
}
}
function readCookie(name){
//Encontra o cookie especificado e retorna o seu valor
var searchName = name + [Ô]=[Ô];
var cookies = document.cookie.split([ô];[ô]);
for(var i=0; i < cookies.length; i++){
var c = cookies[i];
while(c.charAt(0) == [ô] [ô])
c = c.substring(1, c.length);
if(c.indexOf(searchName) == 0)
return c.substring(searchName.length, c.length);
}
return null;
}
function eraseCookie(name){
//Exclui o cookie
writeCookie(name, [Ô][Ô], -1);
}
Por acaso está testando abrindo o arquivo diretamente no Chrome sem usar nenhum tipo de servidor, ficando no endereço da página do tipo [Ô]file://c:/caminho/arquivo.html[Ô]?
Se sim então não funciona no Chrome mesmo, o Chrome ignora cookies de arquivos locais, você precisa usar um servidor para testar nele, mas já posso te adiantar que testei seu script aqui e colocando em um servidor ele funcionou sem problemas pra mim no Chrome.
Se sim então não funciona no Chrome mesmo, o Chrome ignora cookies de arquivos locais, você precisa usar um servidor para testar nele, mas já posso te adiantar que testei seu script aqui e colocando em um servidor ele funcionou sem problemas pra mim no Chrome.
Boa tarde Ocelot, como você fez para especificar um servidor?
Não [Ô]especifiquei[Ô] o servidor, eu coloquei o arquivo html em um servidor HTTP, no meu caso usei o IIS Express, como eu estava trabalhando em um projeto ASP.Net eu simplesmente criei uma página html neste meu projeto que já estava configurado para usar o IIS Express, então em vez de acessar o arquivo por [Ô]file://c:/caminho/arquivo.html[Ô] eu pude usar o endereço que me foi dado pelo IIS Express do tipo [Ô]http://localhost:12345/nomedoprojeto/arquivo.html[Ô]
Entendi, obrigada pela ajuda ocelot, vou tentar fazer isso aqui.
Tópico encerrado , respostas não são mais permitidas