我希望我的网站显示一个随机的背景图片(这是我用javascript设置的),但我不想让它在用户访问网站时再次更改。目前,每次你点击一个链接它都会改变,但我更希望它只在你点击主页按钮时改变。
我认为另一个问题是类似的,但由于我以前不太使用php,我想知道是否有替代的javascript?(或者只是我在这里漏掉了一些愚蠢的东西?) choose random value only once
谢谢
发布于 2013-04-09 00:13:31
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,并在需要时使用它。
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']; ?>">发布于 2013-04-09 00:12:11
您可以使用cookies甚至window.localStorage通过导航在Javascript中存储信息(然后使用与链接中相同的逻辑)。
发布于 2013-04-09 00:10:07
使用JavaScript为主页按钮设置一个onClickListener,该按钮在单击时将更改背景。
https://stackoverflow.com/questions/15883901
复制相似问题