Javascript 在js save序列化SVG中拥有cookie

Javascript 在js save序列化SVG中拥有cookie,javascript,serialization,cookies,svg,Javascript,Serialization,Cookies,Svg,所以我用这个网站作为参考 基本上,我使用他们的代码作为在js中创建cookie的基础。所以基本上我有svg标签,标签中的元素构成svg。假设svg的id=1,到目前为止,我已经成功创建了一个存储svg信息的cookie。所以我有一个if语句。如果有一个cookie(意味着我以前已经将svg保存到cookie中),我会在其中取消svg的序列化,并执行一个document.getElementById(2)=unescape('cookiesvg')。其中2是另一个svg标记的id。带有2的svg标

所以我用这个网站作为参考


基本上,我使用他们的代码作为在js中创建cookie的基础。所以基本上我有svg标签,标签中的元素构成svg。假设svg的id=1,到目前为止,我已经成功创建了一个存储svg信息的cookie。所以我有一个if语句。如果有一个cookie(意味着我以前已经将svg保存到cookie中),我会在其中取消svg的序列化,并执行一个document.getElementById(2)=unescape('cookiesvg')。其中2是另一个svg标记的id。带有2的svg标记将是if语句的else情况。我的问题是,当我将信息加载到此标记中时,它不起作用。

问题是您试图使用以下内容在DOM中设置元素:

document.getElementById(2) = unescape('cookiesvg')
。。。但这不起作用;它被称为getElementById,而不是setElementById,对吗?:)

您应该做的是设置元素的内容,而不是尝试设置元素本身。换句话说,您可能希望使用以下内容:

document.getElementById(2).innerHTML = unescape('cookiesvg')

但是,我从未使用过SVG元素,因此您可能需要执行其他特定于SVG的操作。不管怎样,你要做的是设置内容,而不是元素,一切都应该正常。

你真的不应该这样使用cookies。另外,请发布一些代码,以便我们了解问题所在。请注意,如果您试图保存非常复杂的SVG,则很可能会遇到4KB的cookie限制