【发布时间】:2020-10-31 03:21:10
【问题描述】:
我正在编写一个从file:// 运行的 html 页面(不使用网络服务器),我想在 cookie 中存储一些数据。
我用这个工具测试http://browsercookielimits.iain.guru/,IE11,Edge可以存储180个cookie。
但我的代码,我只能存储 2 个 cookie:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src=" https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<script type="text/javascript">
function test() {
var i=0;
var name="testlimit";
var iMax=5000;
var val="";
for(var i=0;i<iMax;i++)
{
val +="a";
}
for(i=0;i<10;i++)
{
setCookie(name+i,val,1)
val=getCookie(name+i);
if(val ==null)
{
alert(i);
break;
}
}
alert(i);
}
//Save Info to cookies
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
//Get infor from cookies
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
</script>
</head>
<body>
<input type="button" id="btnSearch" value="test limit" onclick="test(); return false;" />
</body>
</html >
为什么IE11、Edge只能存储2个cookie?
发生错误后,我无法通过 cookie 存储,我必须清除浏览器的缓存才能再次存储。
【问题讨论】:
-
你得到什么错误?
-
不会出现错误,设置后,我再次得到值,它是空的。我的示例将停止 i=2
-
我不太明白这个问题。
-
我的问题:我只能在 IE11、Edge 中存储 2 个 cookie。我可以存储超过 2 个 cookie 吗?
-
其他浏览器是否也存在此问题?
标签: javascript html cookies