freeCodeCamp/guide/chinese/javascript/manipulating-cookies/index.md

2.6 KiB
Raw Blame History

title localeTitle
Manipulating Cookies 操纵Cookies

操纵Cookies

获取或设置cookie是一项简单的操作可以通过访问浏览器文档对象上的cookie属性来实现。

您可以找到一个令人惊叹且信息丰富的食谱网站,为您的客人烹制外国餐,但它是外语,幸运的是,您可以使用选择下拉列表更改网站上的语言。几天后,您再次访问同一站点为您的母亲制作菜肴,但现在您默认使用您的母语查看该网站。

该网站会记住您上次访问时选择的语言,并以cookie的形式存储。现在它通过读取该cookie自动选择您的首选语言。

userLanguage:french

Cookie用于在客户端部分以name:value对的形式存储数据。它允许网站在浏览器上存储用户特定信息以供以后使用。存储的信息可以是sessionID userCountry visitorLanguage等。

另一种在客户端存储数据的方法是localstorage

设置Cookie

可以使用下面的语法设置cookie但强烈建议使用类似于最后提到的库以便让每个人都能更轻松地进行开发。在设置cookie时您也可以设置它的到期时间。如果跳过则在浏览器关闭时会删除cookie。

请记住特定域设置的cookie只能由该域及其子域读取。

// Using vanilla javascript 
 document.cookie = 'userLanguage=french; expires=Sun, 2 Dec 2017 23:56:11 UTC; path=/'; 
 
 //Using JS cookie library 
 Cookies.set('userLanguage', 'french', { expires: 7, path: '/' }); 

Cookie将在7天后到期

获取Cookie

// Using vanilla javascript 
 console.log(document.cookie) 
 
 // => "_ga=GA1.2.1266762736.1473341790; userLanguage=french" 
 
 // Using JS cookie library 
 Cookies.get('userLanguage'); 
 
 // => "french" 

删除Cookie

为了删除cookie将过期日期设置为过去的某些内容。

// Using vanilla javascript 
 document.cookie = 'userLanguage; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/'; 
 
 //Using JS cookie library 
 Cookies.remove('userLanguage'); 

如果您发现自己在项目中玩了很多cookie请使用像这样的JS Cookie这样的库,节省大量时间。

更多信息: