gpt4 book ai didi

javascript - 在 Cookie JavaScript 中存储空格和冒号

转载 作者:行者123 更新时间:2023-12-03 04:12:18 28 4
gpt4 key购买 nike

我正在制作一个带有表单的网页,该表单会将您输入的数据保存在 cookie 中,以防您在提交之前意外关闭选项卡或导航离开。

我想知道是否有办法允许空格和冒号出现在我的 cookie 数据中?例如,如果用户输入“test test”,则刷新时 cookie 将被存储并显示为“test%2520test”。同样,冒号显示为“%3A”。我相信使用 encodeURIComponent 这是可能的,但我不确定具体如何。下面我将包含我的 saveVideo、setCookie 和 readCookie JS 函数以及示例输入字段。

此外,额外问题:提交表单后删除每个 Cookie 数据的最佳方法是什么?

<input id="video" name="video" type="text" onchange="saveVideo(this.value);"/>
<小时/>
function saveVideo(cookieValue)
{
var sel = document.getElementById('video');

saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + sel.value;

setCookie('video', cookieValue, 1 );
}


function setCookie(cookieName, cookieValue, nDays) {
var today = new Date();
var expire = new Date();

if (nDays==null || nDays==0)
nDays=1;

expire.setTime(today.getTime() + 60 * 60 * 1000);
document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}


function readCookie(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>

非常感谢任何提示、指示、一般帮助!

最佳答案

只需将 readCookie 函数中的代码更改为以下内容即可,使用 decodeURIComponent :

return decodeURIComponent(c.substring(nameEQ.length, c.length));

关于javascript - 在 Cookie JavaScript 中存储空格和冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44270416/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com