【问题标题】:display variable image using cookies使用 cookie 显示可变图像
【发布时间】:2019-08-31 17:32:56
【问题描述】:

我想根据某个 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>

【问题讨论】:

标签: javascript html cookies image


【解决方案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; ?>" />

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

【讨论】:

  • 不幸的是,我不擅长 php,甚至不知道如何托管我的测试站点。我很感激你的回复。我可以直观地掌握并查看您如何设置值(尽管我不确定我会如何处理“某事”和“其他事”),我可以看到您在页面后面的调用方式。但是...我只是在 php 上很烂。 :(
  • "something" 和 "something else" 是 imagedisplay cookie 的值。例如,假设有三个不同的页面(page1 page2 和 page3)指向您的当前页面。 cookie 可以这样使用:如果用户来自 page1,则将 cookie 值设置为“1”。如果它们来自 page2,请将 cookie 值设置为“2”,依此类推。然后,在带有 if 语句的 PHP 代码中,您通过查看传递的 cookie 来检查它们来自哪个页面。这有意义吗?顺便说一句,您可能想考虑学习 PHP,它对几乎所有 Web 开发都是必不可少的:P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
相关资源
最近更新 更多