使用 Javascript 设置 Cookie 并清理值
Set Cookie with Javascript and sanitize value
我需要用javascript设置一个cookie,我用以下命令来做这件事:
document.cookie = name+"="+value;
我的问题是value
是一个字符串,可以包含任何 unicode 字符。
是否有自动替换特殊字符(如;
)的功能 - 如果没有,禁止哪些字符?
像"encodeURIComponent()"-Get-Parameters函数这样的东西将是完美的
你应该使用 window.escape
.
escape() 方法将特殊字符(任何不是常规文本或数字的字符)转换为十六进制字符,这对于设置 cookie 的值尤其必要。在 GET 请求或 AJAX GET/POST 请求的 URL 中传递 name=值对时也很有用。
它也有window.unescape
对应物。
更新。在转义之前使用 base64 编码/解码可能是有意义的,以免受到 window.encode
的 unicode 字符消耗的影响。
为什么不使用强大的 cookie 库来处理 cookie?
$.cookie('key', value, { expires: 365 });
浏览器将 Cookie 限制为 4 kB。 如果需要在客户端上存储超过 4 kB,则应使用本地存储。
相关文章:
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 如何在Javascript中将单选按钮值保存到cookie中
- 未使用Javascript在IE中设置Cookie
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- 正在Javascript Cookie中设置重复密钥
- 如果设置了cookie,则Facebook登录Javascript SDK自动登录
- 更改Javascript cookie重定向
- 如何在Internet Explorer中使用javascript设置cookie
- Javascript:动态更改CSS文件+Cookie
- 用于存储、检索和附加到url的javascript cookie
- 使用cookie(javascript)时,for循环中的If/Elseif语句出现问题
- 传递一个变量's值添加到另一个页面,而不使用cookie(Javascript)
- 使用 cookie javascript 获得时间
- 在cookie javascript中添加和计数对象
- Android HTTP GET cookie / javascript issue?
- Session cookie javaScript
- 无法读取cookie javascript
- 获取变量cookie(javascript)
- 如何设置和读取 cookie JavaScript
- 从cookie javascript中获取特定值