0

我想根据某个 cookie 值在网页上显示图像,该 cookie 值通过点击该页面传递/创建。我正在考虑使用 onClick 操作编写 cookie,认为这将是最简单的,但我仍然对想法持开放态度。这是该链接的示例。

a href="myLink.html" onClick="setCookie(BRAND,ABC,3600);return true;">

下面是我从网上提取的一些代码,它们以基本的方式模仿了我正在寻找的内容。我只是不知道如何让页面上的js调用获取cookie值并设置图像。

我提前感谢您的帮助,并感谢您的阅读。

<script type="text/javascript">
    var picData = [
        ['ABC','ABC.jpg'],
        ['DEF','DEF.jpg'],
        ['GHI','GHI.jpg']
    ];
    window.onload=function(){
        var cookieValue = 'ABC';  //substitute your code to get the cookie value for this line
        for(i=0; i < picData.length; i++){
            if(cookieValue == picData[i][0]) {
               document.getElementById('imgCont').src = picData[i][1];
               i=picData.length;
            }
        }
    }
</script>

<body>
    <div>
        <img id="imgCont" src="" alt="" />
    </div>
</body>
4

1 回答 1

1

您是否考虑过使用 PHP 代替?我觉得这会更直接。使用setcookie,然后使用简单的 if 和 elseif 语句来检查 cookie 是什么,并显示相应的图像。

这似乎比您尝试使用 JavaScript 执行的操作要简单得多,但也许这只是因为我更频繁地使用 PHP...

所以也许像

$value = "something"; /* sets the value of the cookie */
setcookie("imagedisplay", $value, time()+3600);  /* expire in 1 hour */

在上一页,然后检查它只需使用:

if($_COOKIE["imagedisplay"] == "something") {
$imageurl="ABC.jpg";
}
elseif($_COOKIE["imagedisplay"] == "something else") {
$imageurl="DEF.jpg";
}
else {
$imageurl="GHI.jpg";
}

然后再用一些PHP输出对应的URL作为图片的来源。就像是

<img src="<? echo $imageurl; ?>" />

尚未测试此代码,但它应该可以工作。

于 2013-01-18T17:20:13.357 回答