Почему можно хранить только 2 куки в IE11, Edge? - PullRequest
3 голосов
/ 13 апреля 2020

Я пишу html страницу, запущенную с file:// (не использую веб-сервер), я хочу сохранить некоторые данные в куки.

Я использую этот инструмент для тестирования http://browsercookielimits.squawky.net/ , IE11, Edge может хранить 180 куки.

Но мой код, я могу хранить только 2 куки:

<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 можно хранить только 2 куки, Edge?

И после возникновения ошибки я не могу сохранить куки, мне нужно очистить кеш браузеров, которые можно сохранить снова.

Ответы [ 2 ]

4 голосов
/ 16 апреля 2020

Я понял мою проблему:

Max Size Per Domain= 10234 characters.

Поскольку мое значение составляет 5000 символов, я могу хранить только 2 куки.

0 голосов
/ 23 апреля 2020

Как вы уже указали в своем ответе, существует общий лимит на домен. В целом, я бы посоветовал не использовать куки для хранения длинных текстов, если это не является абсолютно необходимым в вашем случае. Если вы хотите хранить большой объем данных в своем браузере, есть два рекомендуемых варианта:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...