我希望我的网站显示随机背景图像(我使用 JavaScript 设置),但我不希望它在用户访问网站时再次更改。目前,每次您单击链接时它都会发生变化,但我希望它仅在您点击主页按钮时发生变化。
我认为另一个问题是类似的,但由于我以前没有太多使用过 php,我想知道是否有 javascript 替代方案? (或者只是我在这里缺少的一些愚蠢的东西?) choose random value only once
谢谢
最佳答案
Javascript 解决方案(完全客户端):
使用sessionStorage
fileurls=["a.jpg","b,jpg"]// list of file URLS
function getFileURL(){
if(sessionStorage.fileurl)
return sessionStorage.fileurl;
}else{
sessionStorage.fileurl=fileurls[Math.floor(Math.rand()*fileurls.length)]
return sessionStorage.fileurl;
}
}
现在,只需设置 src
图像的任何设置由函数:
document.body.style.background="url('"+getFileURL()+"')";
基本上,这会将随机文件 URL 放入浏览器存储中以供 session 使用,并在需要时使用它。
<小时/>PHP 解决方案(完全服务器端):
$fileurls = array('a.jpg','b,jpg');
if(!isset($_SESSION['fileurl'])) {
$_SESSION['fileurl'] = $fileurls[rand(0, count($fileurls) - 1)];
}
而且,无论 <body>
标签是,执行以下操作:
<body background="<?echo$_SESSION ['fileurl']; ?>">
关于javascript - 随机图像仅应用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15883901/