Бисквитки в JavaСкрипт: Пример за задаване, получаване и изтриване
Какви са бисквитки?
Бисквитката е част от данните, които се съхраняват на вашия компютър, за да бъдат достъпни от вашия браузър. Също така може съзнателно или несъзнателно да сте се насладили на предимствата на бисквитките. Записвали ли сте някога паролата си за Facebook, за да не се налага да я въвеждате всеки път, когато се опитвате да влезете? Ако да, значи използвате бисквитки. Бисквитките се записват като двойки ключ/стойност.
Защо имате нужда от бисквитка?
Комуникацията между а уеб браузър и сървърът се случва с помощта на протокол без състояние, наречен HTTP. Протоколът без състояние третира всяка заявка независимо. Така че сървърът не пази данните, след като ги изпрати до браузъра. Но в много ситуации данните ще бъдат изискани отново. Ето бисквитките в картина. С бисквитките уеб браузърът няма да трябва да комуникира със сървъра всеки път, когато се изискват данните. Вместо това може да бъде извлечен директно от компютъра.
Javascript Задаване на бисквитка
Можете да създавате бисквитки с помощта на документ. свойство на бисквитка като това.
document.cookie = "cookiename=cookievalue"
Можете дори да добавите дата на изтичане на вашата бисквитка, така че конкретната бисквитка да бъде премахната от компютъра на посочената дата. Датата на изтичане трябва да бъде зададена във формат UTC/GMT. Ако не зададете дата на изтичане, бисквитката ще бъде премахната, когато потребителят затвори браузъра.
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC"
Можете също да зададете домейна и пътя, за да посочите към кой домейн и към кои директории в конкретния домейн принадлежи бисквитката. По подразбиране бисквитката принадлежи на страницата, която задава бисквитката.
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC; path=/ "
//създайте бисквитка с домейн към текущата страница и път към целия домейн.
JavaСкрипт за получаване на бисквитка
Можете да получите достъп до бисквитката по този начин, който ще върне всички бисквитки, запазени за текущия домейн.
var x = document.cookie
JavaСкрипт Изтриване на бисквитка
За да изтриете бисквитка, трябва само да зададете стойността на бисквитката да е празна и да зададете стойността на expires на изтекла дата.
document.cookie = "cookiename= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"
Опитайте сами този пример
Специални инструкции, за да накарате кода да работи... Натиснете два пъти бутона за изпълнение
<html> <head> <title>Cookie!!!</title> <script type="text/javascript"> function createCookie(cookieName,cookieValue,daysToExpire) { var date = new Date(); date.setTime(date.getTime()+(daysToExpire*24*60*60*1000)); document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString(); } function accessCookie(cookieName) { var name = cookieName + "="; var allCookieArray = document.cookie.split(';'); for(var i=0; i<allCookieArray.length; i++) { var temp = allCookieArray[i].trim(); if (temp.indexOf(name)==0) return temp.substring(name.length,temp.length); } return ""; } function checkCookie() { var user = accessCookie("testCookie"); if (user!="") alert("Welcome Back " + user + "!!!"); else { user = prompt("Please enter your name"); num = prompt("How many days you want to store your name on your computer?"); if (user!="" && user!=null) { createCookie("testCookie", user, num); } } } </script> </head> <body onload="checkCookie()"></body> </html>