1

我希望我的网站显示一个随机背景图片(我已使用 javascript 设置),但我不希望它在用户在网站上时再次更改。目前,每次您单击链接时它都会更改,但我希望它仅在您单击“主页”按钮时更改。

我认为this other question是相似的,但由于我以前没有使用过php,我想知道是否有javascript替代品?(或者只是我在这里错过的一些愚蠢的东西?) 只选择一次随机值

谢谢

4

3 回答 3

1

您可以使用cookie甚至window.localStorage通过导航在 Javascript 中存储信息(然后使用与链接中相同的逻辑)。

于 2013-04-08T16:12:10.570 回答
1

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-08T16:13:31.360 回答
-1

使用 JavaScript 为 Home 按钮设置一个 onClickListener,单击该按钮将更改背景。

于 2013-04-08T16:10:07.310 回答