[英]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.