您好,我正在处理与JsCookies相关的IT技术问题。它运行良好,但是我遇到了一个问题。
每当我在Cookie中存储短字符串时,它都能正常工作,但缺点是我无法在Cookie中存储长字符串。
例如:
这个可以正常工作 = Cookies.set('Coo', 'string', { expires: 1 })
但是,当我尝试存储序列化的JSON数据(大字符串)时,就会出现问题。
Cookies.set('foo', JSON.stringify(result))
请帮忙
您好,我正在处理与JsCookies相关的IT技术问题。它运行良好,但是我遇到了一个问题。
每当我在Cookie中存储短字符串时,它都能正常工作,但缺点是我无法在Cookie中存储长字符串。
例如:
这个可以正常工作 = Cookies.set('Coo', 'string', { expires: 1 })
但是,当我尝试存储序列化的JSON数据(大字符串)时,就会出现问题。
Cookies.set('foo', JSON.stringify(result))
请帮忙
你不能在cookie中存储超过4k字节的数据,但有一种替代方法。
// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
Cookie的最大大小为4K字节。您不能存储超过此大小的内容。在此处阅读有关cookie限制的更多信息:http://browsercookielimits.iain.guru/
如果我在Chrome浏览器上运行测试,它会显示以下内容:
10:41:28.954: Guessing Max Cookie Count Per Domain: 180
10:41:28.954: Guessing Max Cookie Size Per Cookie: 4096 bytes
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=/";
}
但是,Cookie 的大小存在限制(4,096 字节)。
但是你可以使用多个 Cookie,不过在此方面也有限制:
Chrome 9 允许每个域名 180 个 Cookie
Firefox 3.6.3 允许每个域名 50 个 Cookie
Internet Explorer 8 允许每个域名 50 个 Cookie
Opera 10 和 9 允许每个域名 30 个 Cookie