উত্তর:
এপ্রিল 2019 আপডেট করুন
কুকি পড়ার / হেরফেরের জন্য jQuery এর প্রয়োজন নেই, সুতরাং নীচের মূল উত্তরটি ব্যবহার করবেন না।
পরিবর্তে https://github.com/js-cookie/js-cookie এ যান এবং সেখানে লাইব্রেরিটি ব্যবহার করুন যা jQuery এর উপর নির্ভর করে না।
প্রাথমিক উদাহরণ:
// Set a cookie
Cookies.set('name', 'value');
// Read the cookie
Cookies.get('name') => // => 'value'
বিশদ জন্য গিথুবে ডক্স দেখুন।
প্লাগইনটি দেখুন:
https://github.com/carhartl/jquery-cookie
তারপরে আপনি এটি করতে পারেন:
$.cookie("test", 1);
বাদ:
$.removeCookie("test");
অতিরিক্তভাবে, কুকিতে একটি নির্দিষ্ট দিনের (10 এখানে) সময়সীমা নির্ধারণ করতে:
$.cookie("test", 1, { expires : 10 });
যদি মেয়াদোত্তীকরণ বিকল্পটি বাদ দেওয়া হয় তবে কুকিটি একটি সেশন কুকিতে পরিণত হয় এবং ব্রাউজারটি প্রস্থান করার সময় মুছে ফেলা হয়।
সমস্ত বিকল্প কভার করতে:
$.cookie("test", 1, {
expires : 10, // Expires in 10 days
path : '/', // The value of the path attribute of the cookie
// (Default: path of page that created the cookie).
domain : 'jquery.com', // The value of the domain attribute of the cookie
// (Default: domain of page that created the cookie).
secure : true // If set to true the secure attribute of the cookie
// will be set and the cookie transmission will
// require a secure protocol (defaults to false).
});
কুকির মানটি আবার পড়তে:
var cookieValue = $.cookie("test");
আপনি যদি কুকিটি বর্তমানের থেকে ভিন্ন পথে তৈরি করা হয় তবে আপনি পাথ প্যারামিটারটি নির্দিষ্ট করতে চাইতে পারেন:
var cookieValue = $.cookie("test", { path: '/foo' });
আপডেট (এপ্রিল 2015):
নীচের মন্তব্যে যেমন বলা হয়েছে, মূল প্লাগইনে কাজ করা দলটি একটি নতুন প্রকল্পে ( https://github.com/js-cookie/js-cookie ) jQuery নির্ভরতা সরিয়ে দিয়েছে যার কার্যকারিতা এবং সাধারণ বাক্য গঠন যেমন রয়েছে jQuery সংস্করণ। দৃশ্যত মূল প্লাগইন যদিও কোথাও যাচ্ছে না।
$.removeCookie('nameofcookie', { path: '/' });
বিশেষত কুকিগুলি পরিচালনা করতে jQuery ব্যবহার করার দরকার নেই।
QuirksMode থেকে (পালানোর অক্ষর সহ)
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = encodeURIComponent(name) + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0)
return decodeURIComponent(c.substring(nameEQ.length, c.length));
}
return null;
}
function eraseCookie(name) {
createCookie(name, "", -1);
}
একবার দেখুন
<script type="text/javascript">
function setCookie(key, value, expiry) {
var expires = new Date();
expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}
function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
function eraseCookie(key) {
var keyValue = getCookie(key);
setCookie(key, keyValue, '-1');
}
</script>
আপনি কুকি পছন্দ করতে পারেন
setCookie('test','1','1'); //(key,value,expiry in days)
আপনি কুকি পছন্দ করতে পারেন
getCookie('test');
এবং অবশেষে আপনি এইগুলির মতো কুকিজ মুছতে পারেন
eraseCookie('test');
আশা করি এটি কাউকে সহায়তা করবে :)
সম্পাদনা করুন:
আপনি যদি সমস্ত পাথ / পৃষ্ঠা / ডিরেক্টরিতে কুকি সেট করতে চান তবে কুকিতে পাথ অ্যাট্রিবিউট সেট করুন
function setCookie(key, value, expiry) {
var expires = new Date();
expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';path=/' + ';expires=' + expires.toUTCString();
}
ধন্যবাদ, ভিকি
é
, 北
ইত্যাদি এছাড়াও, এই কিছু বিশেষ অক্ষর যে কুকির-নাম অথবা কুকি-মান অনুমোদিত নয় জন্য কাজ করতে যাচ্ছে না। আমি নিম্নলিখিত রেফারেন্সটির পরামর্শ দিচ্ছি: সরঞ্জাম. ietf.org/html/rfc6265
আপনি এখানে উপলব্ধ একটি প্লাগইন ব্যবহার করতে পারেন ..
https://plugins.jquery.com/cookie/
এবং তারপরে একটি কুকি লিখতে হবে
$.cookie("test", 1);
সেট কুকি করতে অ্যাক্সেস করতে
$.cookie("test");
আমি ব্যবহার করি এটির আমার বিশ্বব্যাপী মডিউলটি এখানে -
var Cookie = {
Create: function (name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
document.cookie = name + "=" + value + expires + "; path=/";
},
Read: function (name) {
var nameEQ = name + "=";
var ca = document.cookie.split(";");
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == " ") c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
},
Erase: function (name) {
Cookie.create(name, "", -1);
}
};
এটির মতো কিছু না করার বিষয়টি নিশ্চিত করুন:
var a = $.cookie("cart").split(",");
তারপরে, যদি কুকির অস্তিত্ব না থাকে তবে ডিবাগারটি "। কুকি কোনও ফাংশন নয়" এর মতো কিছু অসহায় বার্তা ফিরে আসবে।
সর্বদা প্রথমে ঘোষণা করুন, তারপরে নাল পরীক্ষা করার পরে বিভাজন করুন। এটার মত:
var a = $.cookie("cart");
if (a != null) {
var aa = a.split(",");
}
যা অনুপস্থিত বা কোডের বেশ কয়েকটি লাইন অনুপস্থিত রয়েছে?
আপনার ব্রাউজারে সেট কুকির একটি সাধারণ উদাহরণ:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jquery.cookie Test Suite</title>
<script src="jquery-1.9.0.min.js"></script>
<script src="jquery.cookie.js"></script>
<script src="JSON-js-master/json.js"></script>
<script src="JSON-js-master/json_parse.js"></script>
<script>
$(function() {
if ($.cookie('cookieStore')) {
var data=JSON.parse($.cookie("cookieStore"));
$('#name').text(data[0]);
$('#address').text(data[1]);
}
$('#submit').on('click', function(){
var storeData = new Array();
storeData[0] = $('#inputName').val();
storeData[1] = $('#inputAddress').val();
$.cookie("cookieStore", JSON.stringify(storeData));
var data=JSON.parse($.cookie("cookieStore"));
$('#name').text(data[0]);
$('#address').text(data[1]);
});
});
</script>
</head>
<body>
<label for="inputName">Name</label>
<br />
<input type="text" id="inputName">
<br />
<br />
<label for="inputAddress">Address</label>
<br />
<input type="text" id="inputAddress">
<br />
<br />
<input type="submit" id="submit" value="Submit" />
<hr>
<p id="name"></p>
<br />
<p id="address"></p>
<br />
<hr>
</body>
</html>
আপনার কুকি সেট করার জন্য কেবল অনুলিপি / পেস্ট করুন এবং এই কোডটি ব্যবহার করুন।
jquery-1.9.0.min.js
ফাইলের নামটি আপডেট হয়ে গেলে প্রত্যেকের জন্য পুনরায় লোড করা হবে jquery-1.9.1.min.js
, অন্যথায় ব্রাউজার আপডেট হওয়া সামগ্রীর জন্য চেক করার জন্য সার্ভারকে মোটেই অনুরোধ জানাবে না। যদি আপনি jquery.cookie.js
ফাইলের নাম পরিবর্তন না করেই কোডটির অভ্যন্তরে আপডেট করেন তবে এটি ইতিমধ্যে jquery.cookie.js
সংস্থানটিতে থাকা ব্রাউজারগুলিতে পুনরায় লোড করা যাবে না ।
jquery.cookie.js
নাম পরিবর্তন না করে সংস্করণ আপডেট করলে এটি কাজ করছে না (যদি না আপনার সার্ভার ই-ট্যাগগুলি ব্যবহার করে ক্যাশে করার বিষয়টি না করে)।
আপনি কীভাবে জাভাস্ক্রিপ্ট সহ কুকি সেট করবেন:
নীচের কোডটি https://www.w3schools.com/js/js_cookies.asp থেকে নেওয়া হয়েছে
function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; }
এখন আপনি নীচের ফাংশন সহ কুকি পেতে পারেন:
function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }
এবং অবশেষে আপনি কুকিটি এইভাবে পরীক্ষা করেন:
function checkCookie() { var username = getCookie("username"); if (username != "") { alert("Welcome again " + username); } else { username = prompt("Please enter your name:", ""); if (username != "" && username != null) { setCookie("username", username, 365); } } }
আপনি যদি কুকি মুছতে চান তবে কেবল মেয়াদ উত্তীর্ণের প্যারামিটারটি একটি নির্ধারিত তারিখে সেট করুন:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
আপনি এখানে মজিলা ওয়েবসাইটে লাইব্রেরিটি ব্যবহার করতে পারেন
আপনি এই জাতীয় কুকি সেট করতে এবং পেতে সক্ষম হবেন
docCookies.setItem(name, value);
docCookies.getItem(name);
আমার মনে হয় ফ্রেশার আমাদের সুন্দর উপায় দিয়েছেন, তবে একটি ভুল আছে:
<script type="text/javascript">
function setCookie(key, value) {
var expires = new Date();
expires.setTime(expires.getTime() + (value * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}
function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
</script>
গেটটাইম () এর নিকটে আপনার "মান" যুক্ত করা উচিত; অন্যথায় কুকি অবিলম্বে মেয়াদ শেষ হয়ে যাবে :)
ভেবেছিলাম ভিগনেশ পিচমণির উত্তরটি সবচেয়ে সহজ এবং পরিষ্কার। মেয়াদ শেষ হওয়ার আগের দিনগুলির সংখ্যা নির্ধারণের সক্ষমতাটিতে কেবল তার যোগ করা:
সম্পাদনা: কোনও দিন নম্বর সেট না করা থাকলে 'কখনই মেয়াদ শেষ হয় না' বিকল্পটি যোগ করা হয়
function setCookie(key, value, days) {
var expires = new Date();
if (days) {
expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
} else {
document.cookie = key + '=' + value + ';expires=Fri, 30 Dec 9999 23:59:59 GMT;';
}
}
function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
কুকি সেট করুন:
setCookie('myData', 1, 30); // myData=1 for 30 days.
setCookie('myData', 1); // myData=1 'forever' (until the year 9999)
আমি জানি অনেক দুর্দান্ত উত্তর আছে। প্রায়শই, আমার কেবল কুকিগুলি পড়তে হবে এবং অতিরিক্ত গ্রন্থাগার লোড করে বা ফাংশনগুলি নির্ধারণ করে আমি ওভারহেড তৈরি করতে চাই না।
জাভাস্ক্রিপ্টের এক লাইনে কুকিগুলি কীভাবে পড়তে হবে তা এখানে । আমি উত্তরটি গিলহর্ম রডরিগসের ব্লগ নিবন্ধে পেয়েছি :
('; '+document.cookie).split('; '+key+'=').pop().split(';').shift()
এটি দুর্দান্ত key
, পরিষ্কার এবং সাধারণ নামের কুকি পড়বে ।
$.cookie("test", 1); //set cookie
$.cookie("test"); //get cookie
$.cookie('test', null); //delete cookie