ciasteczka w JavaSript nie działają w google chrom

0

Mam taki kod:

 
<script type="text/javascript">
function setCookie(name, value, expires) {
  var cookieStr = escape(name) +"=";
  if (typeof value != "undefined") {
    cookieStr += escape(value);
  }
  if (!expires) {
    expires = new Date();
    expires.setTime(expires.getTime()+24*60*60*1000);
  }
  cookieStr += "; expires="+ expires.toGMTString() +";";
  document.cookie = cookieStr;
};
 
setCookie("theme", "dark");


function getCookie(name){
  var str = '; '+ document.cookie +';';
  var index = str.indexOf('; '+ escape(name) +'=');
  if (index != -1) {
    index += name.length+3;
    var value = str.slice(index, str.indexOf(';', index));
    return unescape(value);
  }
};
 
var id = getCookie("theme");


alert(id);


</script>

w jednej przeglądarce ten kod ustawia dobrze ciasteczka, a np w google chrom nie działa, nie ustawia ciastek? co jest nie tak >???

0

Kod używa przestarzałych funkcji. Zapewne i tak korzystasz z jQuery więc może biblioteczka do jQuery? http://archive.plugins.jquery.com/project/Cookie

0

noo tak, używam, poxniej mam coś takiego:

 

   <script type="text/javascript">
    var id = getCookie("theme");
	alert(id);
	
$(document).ready(function(){

    if(id=="cookie"){
		$('#TopMessageBox').hide();
	}
	else{
		$('#TopMessageBox').css('display', '');
	}

	$(window).scroll(function()
	{
  		$('#TopMessageBox').animate({top:$(window).scrollTop()+"px" },{queue: true, duration: 0});  
	});

	$('#TopCloseMessage').click(function()
	{
		$('#TopMessageBox').hide(100);
        setCookie("theme", "cookie");
	});
	
});

    </script>

gdzie tam jest jakiś link do pobrania ?

upa, dalej null :/

0

Ej, zapłacę Ci, tylko naucz się używać przycisku edycji.

A ściągnąć stamtąd faktycznie się nie da, ale Google nie boli i zwraca to: http://stackoverflow.com/questions/8704624/where-can-i-download-the-jquery-cookie-plugin, masz nawet przykład na usuwanie ciastka

0

ok, sorry, zapomniałem się z tą edycją. ściągnąłem tą drugi plugin, ale to samo... w Firefox i IE śmiga w google chrom nie :(

Edite:

Ten drugi plugin dobrze działa, ale nie w chormie :/ i w sumie $.cookie("example", "foo", { expires: 7 }); to ta wartość 7 to w czym jest mierzona ? minuty, godziny ? a może dni ?

ooo cholera z tego co widzę to są dni... a ja chcę ustawić na jedną godzinę :/

gdzieś na śmiesznym forum znalazłem, że niby chrom tak ma, że na localhoście może nie działać poprawnie te ciasteczka , zaaraz przetestuję

FATK! Google chrom nie łyuka cookies na localhoście :/ wrzuciłem na serwer i działa;p nie było nic do miany, dobry kod :)

3
poniatowski napisał(a):

FATK! Google chrom nie łyuka cookies na localhoście :/ wrzuciłem na serwer i działa;p nie było nic do miany, dobry kod :)

łyka, tylko domenę ciasteczka musisz ustawić na "" zamiast "localhost"

ale każdy zazwyczaj robi sobie wpis w %windir%/System32/drivers/etc/hosts i robi sobie vhost typu http://strona.local , a wtedy ciastka działają już normalnie
powinny też działać normalnie gdy będziesz wchodził przez http://127.0.0.1

Ten drugi plugin dobrze działa, ale nie w chormie i w sumie $.cookie("example", "foo", { expires: 7 }); to ta wartość 7 to w czym jest mierzona ? minuty, godziny ? a może dni ?

ooo cholera z tego co widzę to są dni... a ja chcę ustawić na jedną godzinę

możesz w expires przekazać normalną datę, taką samą jak teraz podajesz ustawiając cookie standardowo:

$.cookie("example", "foo", { expires: expires });

1 użytkowników online, w tym zalogowanych: 0, gości: 1