如何将对象存储在 cookie 中以便我可以将其用于进一步的会话?

How to store object in a cookie so I can use it for further sessions?

嗨,

我有 html 这样的:

<div id="inputarea" style="color:black;font-size:15px;">

我想将样式数据存储到 cookie 中,所以我这样做了:

setCookie('savedstyle',inputarea.style);

所以在我的下一个会话中,inputarea 应该从该 cookie 加载数据并将其设置为 inputarea 的样式,如下所示:

if(getCookie('savedstyle')) {
  inputarea.style = getCookie('savedstyle');
 }

没有任何反应,因为存储在 cookie 中的值类似于:[object CSS properties]。这是为什么?如何正确存储值?

谢谢。

试试这些。这些是我在需要时用于我的项目的一些样板函数。

readCookie = (cname) =>
{
    let name = cname + '=';
    let decodedCookie = decodeURIComponent(window.document.cookie);
    let ca = decodedCookie.split(';');
    for(let i = 0; i <ca.length; i++) 
    {
        let c = ca[i];
        while (c.charAt(0) == ' ') 
        {
        c = c.substring(1);
        }
        if (c.indexOf(name) == 0)
        {
        return c.substring(name.length, c.length);
        }
    }
    return '';
}
createCookie=(cname, cvalue)=>
{
    let d = new Date();
    d.setTime(d.getTime() + (10*24*60*60*1000));
    let expires = 'expires='+ d.toUTCString();
    window.document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';
}
deleteCookie = (name) =>
{
  if(readCookie(name)) 
  {
    window.document.cookie = name + '=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT';
  }
}

readCookie 函数通过名称读取 cookie。 createCookie 给它一个名称和一个值,deleteCookie 按名称删除一个 cookie。非常自我解释 :D.

JS中的.style只是存储了CSS属性的setter。对阅读信息没有用。

如果您只想存储内联样式,请使用:

setCookie('savedstyle', inputarea.getAttribute('style'))

并检索

inputarea.setAttribute('style', getCookie('savedstyle'))