رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا مدت زمان cookie کار نمی کنه ؟
#1
سلام، بنده قصد دارم بعد از کلیک شدن دکمه لایک یا Dislike، این دکمه ها رو به کار نشون ندم و بنویسم که نظر شما ثبت شد، به همین منظور اومدم بعد از Ajax یک Cookie ساختم و گفتم اگر کلیک شد نشونشون نده و یک پیام هم بده، کار می کنه ولی تنها مشکلم اینجاست که بعد از رفرش شدن دوباره، باز هم دکمه ها می آن و زمان در اون ها تاثیری نداره ... حالا مشکل از کجاست ؟
		$(document).ready(function(e){
			$(".like").click(function(e){
				$.post("Initial.php",
					{
						'id':<?php echo $thing['id']; ?>,
						'user':'like'}
					);
				document.cookie = "Like=siteUserLikes; expires=Thu, 18 Dec 2016 12:00:00 UTC";
				var x = document.cookie;
				if(x){
					document.getElementById('like').style.display="none";
					document.getElementById('disLike').style.display="none";
					document.getElementById('message').innerHTML = "Your Comment is submitted !"
				}else{
					document.getElementById('like').style.display="block";
					document.getElementById('disLike').style.display="block";
					document.getElementById('message').innerHTML = ""
				}
			});
		});
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#2
$(document).ready(function(e){
    $(".like").click(function(e){
       $.post("Initial.php",
           {
               'id':<?php echo $thing['id']; ?>,
               'user':'like'}
           );
       document.cookie = "Like=siteUserLikes; expires=18 Dec 2016 12:00:00";
       var x = document.cookie;
       if(x){
$(".like").css('display','none');
$(".disLike").css('display','none');
$(".message").innerHTML("Your Comment is submitted !");
       }else{
$(".like").css('display','block');
$(".disLike").css('display','block);
$(".message").remove();
       }
   });
});
یه برنامه نویس دنیاش کدنویسی هست
پاسخ
تشکر شده توسط:
#3
منطقتون اشتباست


<!DOCTYPE html>
<html>
<head>
<script>
(function() {
	// create jsCookies function
	var jsCookies = {
		// this gets a cookie and returns the cookies value, if no cookies it returns blank ""
		get: function(c_name) {
			if (document.cookie.length > 0) {
				var c_start = document.cookie.indexOf(c_name + "=");
				if (c_start != -1) {
					c_start = c_start + c_name.length + 1;
					var c_end = document.cookie.indexOf(";", c_start);
					if (c_end == -1) {
						c_end = document.cookie.length;
					}
					return unescape(document.cookie.substring(c_start, c_end));
				}
			}
			return "";
		},

		// this sets a cookie with your given ("cookie name", "cookie value", "good for x days")
		set: function(c_name, value, expiredays) {
			var exdate = new Date();
			exdate.setDate(exdate.getDate() + expiredays);
			document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + exdate.toUTCString());
		},

		// this checks to see if a cookie exists, then returns true or false
		check: function(c_name) {
			c_name = jsCookies.get(c_name);
				return c_name != null && c_name != ""
			
		}

	};
	window.jsCookies = jsCookies;
})();

window.onload=function(){ 	
		//check Comment is submitted
		if(jsCookies.check("Like")){
			document.getElementById('like').style.display="none";
			document.getElementById('dislike').style.display="none";
			document.getElementById('message').innerHTML = "Your Comment is submitted !";
		}
		
		//onclick
		document.getElementById('like').onclick=document.getElementById('dislike').onclick= function () {
			// check Cookie
			if(!jsCookies.check("Like")){
				//set Cookie	
				jsCookies.set("Like", "1", 1 );			
				document.getElementById('like').style.display="none";
				document.getElementById('dislike').style.display="none";
				document.getElementById('message').innerHTML = "Your Comment is submitted !";
			}
		};
}
</script>
</head>
<body>
	<div id="message">
		<button id="like">Like</button>
		<button id="dislike">disLike</button>
	</div>
</body>
</html>

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط:
#4
وقتی با جی کوئری میشه نوشت چرا این همه کد بنویسیم
اصلا میشه این کدها رو عیب یابی هم کرد ؟
یه برنامه نویس دنیاش کدنویسی هست
پاسخ
تشکر شده توسط:
#5
1: برای استفاده بهتر از کوکی به یه Cookies Management نیاز دارید
حالا چه بصورت
jQuery Cookies Management
یا
Pure Javascript Cookies Management

درهرصورت حجم کدنویسی فرقی نداره به جز چند خط

2: تا عیب یابی چی باشه!

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان