Answers:
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();
}
ස්තූතියි, විකී
é
, 北
ආදිය එසේම, මෙම කුකිය-නම හෝ කුකී අගය කිරීමට ඉඩ නොදෙන බව සමහර විශේෂ අක්ෂර සඳහා වැඩ කිරීමට යන්නේ නැහැ. මම පහත සඳහන් නිර්දේශය නිර්දේශ කරමි: tools.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(",");
}
අස්ථානගත වී ඇත්තේ තනි එකක් පමණක්ද නැතිනම් කේත පේළි කිහිපයක් අස්ථානගත වී තිබේද?
ජාවාස්ක්රිප්ට් සමඟ ඔබ කුකිය සකසන ආකාරය මෙන්න:
පහත කේතය 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=/;";
ඔබගේ බ්රව්සරයේ කුකී සැකසීමට සරල උදාහරණයක්:
<!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
එහි ගොනු නාමය වෙනස් නොකර අනුවාදය යාවත්කාලීන කරන්නේ නම් මෙය ක්රියාත්මක නොවන බව මතක තබා ගන්න (ඔබේ සේවාදායකයා ඊ-ටැග් භාවිතයෙන් හැඹිලි සමඟ ගනුදෙනු නොකරන්නේ නම්).
ඔබ Mozilla වෙබ් අඩවිය පුස්තකාලය භාවිතා කළ හැකි මෙහි
ඔබට මේ වගේ කුකීස් සැකසීමට සහ ලබා ගැනීමට හැකි වනු ඇත
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>
GetTime () අසල ඔබ "අගය" එකතු කළ යුතුය; නැතිනම් කුකිය වහාම කල් ඉකුත් වේ :)
විග්නේෂ් පිචමානිගේ පිළිතුර සරලම හා පිරිසිදු බව මම සිතුවෙමි . කල් ඉකුත්වීමට දින ගණන නියම කිරීමට ඔහුට ඇති හැකියාව එකතු කිරීම:
සංස්කරණය කරන්න: දින අංකයක් සකසා නොමැති නම් 'කිසි විටෙකත් කල් ඉකුත් නොවේ' යන විකල්පය ද එක් කරන ලදි
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