JavaScript Cookies
- Kwenda ja kuu JS Timing
- Pya ja Mwongozo wa Web API
Cookie inasaidia kusimamishwa habari ya mtu kwenye ukurusha.
Je, ni nini cookie?
Cookie ni data zilizosimamishwa kwenye faili ya matukio ndogo kwenye kompyuta yako.
Kama mpangilio anapata ukurusha ukurusha kwenye ukurusha hii, mpangilio hauonesha mtu yoyote.
Cookie zilitolewa ili kusaidia kumemorisha habari ya mtu.
- Kama mtu anapitia ukurusha kwenye ukurusha hii, jina lake linapatikana kwa cookie.
- Kama mtu anapitia ukurusha kwenye ukurusha hii, cookie inaonesha jina lake.
Cookie hufikia kwa mawazo ya jina na thamani, kama:
username = Bill Gates
Kama browser anapata ukurusha ukuripoti kutoka kwa mpangilio, cookie zisaidia ukurusha kwenye tafuta hii. Kama hivyo, mpangilio haukubali data zilizotumika kuwasaidia kumemorisha habari ya mtu.
Kama browser hauamua kufungua cookie hivi karibuni, mifano ya hii hayafunguliwa.
Kurejea cookie kwa JavaScript
JavaScript inaweza kutumia document.cookie
Mashirika ya kumewa, kurejea na kufungua cookie.
Kwa JavaScript, inaweza kurejea cookie kama:
document.cookie = "username=Bill Gates";
Inaweza kuongeza tarehe za huzuni (wa wa UTC). Kwa muhimu, kama browser hauifungwe, cookie haitachaguliwa:
document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC";
通过 path
参数,您可以告诉浏览器 cookie 属于什么路径。默认情况下,cookie 属于当前页。
document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";
通过 JavaScript 读取 cookie
通过 JavaScript,可以这样读取 cookie:
var x = document.cookie;
document.cookie
会在一条字符串中返回所有 cookie,比如:cookie1=value; cookie2=value; cookie3=value;
通过 JavaScript 改变 cookie
通过使用 JavaScript,你可以像你创建 cookie 一样改变它:
document.cookie = "username=Steve Jobs; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";
Kikukoozi kikilichotokana kimeongezwa.
Kumefungua kikukoozi kwa JavaScript
Kumefungua kikukoozi kinaelewa sana.
Kumefungua kikukoozi kama kumekuwa na thamani.
Kamataa kufungua kikukoozi kwa kumekuwa na thamani. expires
Wakati unaofungua, wakati unaofungua msaada.
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
Unapaswa ulizidi kumekadiri nje ya kikukoozi kwa sababu ya kumefungua kikukoozi kikilele.
Kama haujue na msaada, kaka hata kama kumekuwa na matumizi ya kikukoozi.
Kikukoozi cha matukio
document.cookie
Umlinganisho hulijengwa kama mtandao wa kichwa cha matukio. Hauwa ni tofauti.
Nakala kwamba utamkishe document.cookie
Andika mtandao wa kikukoozi kamilifu, kama unafungua tena, unaweza kuona zaidi ya kina-mtu-mtumishi.
Kama ukapewa kikukoozi mpya, kikukoozi kikilichotokana kama kichukuliwe. Kikukoozi mpya kimejumuwa kwenye document.cookie, kama unafungua document.cookie, unapata kitu kama hii:
cookie1 = thamani; cookie2 = thamani;
Kama unaingia tena kwa kufaifa thamani ya cookie kienye, unahitaji kusimama fungu ya JavaScript kuwaingia na thamani ya cookie.
Mfano wa JavaScript Cookie
Kwenye mifano hapa, tunapokea cookie inayotumia tena kuhifadhi jina la mwanafunzi.
Kwa kila wakati mwanafunzi wa kuzingia huzingia kwa mara ya kwanza katika ukurasa, anasikitishwa kufaisha jina lake. Kisha, jina hilo linahifadhiwa kwenye cookie.
Kwa kila wakati mwanafunzi wa kuzingia huzingia katika ukurasa huo, anaweza kumtuwa na ujumbe wa kushukuru.
Mfano, tunapokea 3 fungu za JavaScript:
- Fungu wa kuhifadhi thamani ya cookie
- Fungu wa kuwaingia na thamani ya cookie
- Fungu wa kuangalia thamani ya cookie
Fungu wa kuhifadhi cookie
Kwanza, tunapokea fungu inayotumia tena kwa kuhifadhi jina la mwanafunzi kwenye muwajifunze wa cookie:
mada
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=/"; }
Muungano wa mifano:
Viparamu vya fungu hii ni: jina la cookie (cname), thamani ya cookie (cvalue), na ukweli wa siku za kumua cookie (exdays).
Kwa kuingia tena kwa mifano wa cookie, fungu hii inasababisha cookie.
Fungu wa kuwaingia na cookie
Kisha, tunapokea fungu inayotumia tena kwa kuwaingia na maadili ya cookie:
mada
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 ""; }
Muungano wa fungu:
Kuwa cookie kama kiparamu (cname).
Kumekisha muwajifunze (name) na matukio ya kuongea (CNAME”=”).
Kuweza kufungua ujaribio wa cookie, kumtaja cookie ya kipekee kama “$”.
kufikiria document.cookie kwa kusafirisha kwa mkono kwa jina wa ca (decodedCookie.split(';')).
kufikiria mawakilishi wa ca (i = 0; i < ca.length; i++), kwa kuwafikiria kila thamani c = ca[i].
hakuna cookie inayotafutwa (c.indexOf(name) == 0), itakapokutumia thamani ya cookie (c.substring(name.length, c.length)).
hakuna cookie inayotafutwa, itakapokutumia "".
mfano wa kufikiria cookie
kisha, tutumia mfano wa kufikiria kufikiria cookie iliyotumika.
hakuna cookie setiwe, itakapokutana na mkutano wa kumwambia heshima.
hakuna cookie setiwe, itakapokutana na mkutano wa jina, kusafirisha jina cookie kwa muda wa 365 siku, kwa kutumia setCookie
mfano:
mada
function checkCookie() { var username = getCookie("username"); if (username != "") { alert("Welcome again " + username); } username = prompt("Please enter your name:", ""); if (username != "" && username != null) { setCookie("username", username, 365); } } }
sikitisha kwa pamoja
mada
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 ca = document.cookie.split(';'); kwa 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 user = getCookie("username"); if (user != "") { alert("Welcome again " + user); } user = prompt("Please enter your name:", ""); if (user != "" && user != null) { setCookie("username", user, 365); } } }
Kutenda kwa kufikia mafanafunzo
Mifano hii yatakia kufanyika kwa muda wa kulaadiliwa wa ukurasa.
- Kwenda ja kuu JS Timing
- Pya ja Mwongozo wa Web API