繁体   English   中英

使用Javascript设置Cookie并清理值

[英]Set Cookie with Javascript and sanitize value

我需要使用javascript设置一个cookie,我正在使用以下命令执行此操作:

document.cookie = name+"="+value;

我的问题是value是一个字符串,可以包含任何unicode字符。

是否有一个自动替换特殊字符的函数(如; ) - 如果没有,哪些字符被禁止?

类似于“encodeURIComponent()” - Get-Parameters的功能将是完美的

为什么不使用健壮的cookie库来处理cookie?

$.cookie('key', value, { expires: 365 });

浏览器将cookie限制为4 kB。 如果您需要在客户端上存储超过4 kB,则应使用本地存储

你应该使用window.escape

escape()方法将特殊字符(非常规文本或数字的任何字符)转换为十六进制字符,这对于设置cookie的值尤其重要。 在GET请求的URL或AJAX GET / POST请求中传递name = value对时也很有用。

它还有window.unescape对应物。

UPD。 在转义之前使用base64编码/解码可能有一定意义,以免因window.encode unicode字符的消耗造成太大影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM