У меня есть печенье, где я должен разделить на (";"). В chrome, FireFox, IE возвращает мне массив всех разделенных частей, но в сафари он возвращает пустой массив из полной строки.
Строка cookie:
"pre-agendamento=2261$Horm; mobile=-1; WSS_FullScreenMode=false; _ga=GA1.3.1074191601.1558110091; _gid=GA1.3.732210393.1558110091; WSS_KeepSessionAuthenticated={f0eeda9a-6e01-4bf4-8dd4-0b832aa835cd}; WeinmannMedico=true; _gcl_au=1.1.1992728444.1558110091"
Другие строковые методы, такие как .replace () и другие, работают нормально.
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=/";
};
function getCookie(cname) {
var name = cname + "=";
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);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return "";
};
Ошибки не отображаются.
Ожидаемое:
VAR ca == ["mobile=-1", " WSS_FullScreenMode=false", " _ga=GA1.3.1074191601.1558110091", " _gid=GA1.3.732210393.1558110091", " WSS_KeepSessionAuthenticated={f0eeda9a-6e01-4bf4-8dd4-0b832aa835cd}", " WeinmannMedico=true", " _gcl_au=1.1.1992728444.1558110091"]
Фактический:
VAR ca == []