0

我目前正在开发一个基于 javascript 的产品配置器,我似乎无法设置一个 cookie 并将其传递到配置器的另一个阶段,我在另一个问题上使用这个 cookie 插件,我想知道我是否误解了插件说明,如果我以错误的方式使用它,但正如我在另一个问题中所说,我对 javascript 非常陌生。如果有人可以请看一下并帮助我解决我做错了什么,那就太棒了。

要设置cookie,我有这个功能:

function changeImage_red() {
var img = document.getElementById("carro");
fadeIn("carro");
img.src = "http://popo.com.pt/POPO/configurador/cfg/page_color/color/red.png";
$.cookie('color', 'red');
return false;

要阅读并使用它,我有这个:

function changeColor ()
{
var color = $.cookie('color');
var img = document.getElementById("carro");
img.src = "http://popo.com.pt/POPO/configurador/cfg/page_rims/color/" + color + ".png";
return false;
}
window.onload = changeColor;

我认为通过代码,您可以看到我的前进方向,但以防万一有人错过它,我希望汽车的颜色(在配置器的第一页中选择)作为 cookie 传递到第二页(其中我有汽车的侧视图,而不是第一页上的 3/4 视图,因此,我需要第二页上的汽车颜色与第一页中选择的颜色相同)。

顺便说一句,在我的另一个问题的答案中让我感兴趣的一件事是关于 JSON 的部分,我认为我根本不使用 JSON,我需要做些什么来实现它?它会让这个片段工作吗?

4

2 回答 2

1

您在 changeColor 方法中有一个脚本语法错误 -+之前丢失".png"

function changeColor() {
    var color = $.cookie('color');
    var img = document.getElementById("carro");
    img.src = "http://popo.com.pt/POPO/configurador/cfg/page_rims/color/" + color + ".png";
    return false;
}
window.onload = changeColor;
于 2013-08-29T16:23:23.853 回答
1

为此查看 GitHub 页面,似乎有一个路径选项限制了 cookie 的使用位置:

默认情况下,cookie 的路径是创建 cookie 的页面的路径(标准浏览器行为)。例如,如果您想让它在整个域中可用,请使用路径:'/'。

尝试像这样设置 cookie(取自他们的文档):

$.cookie('color', 'red', { path: '/' });
于 2013-08-29T15:26:31.250 回答