我有一个网站,其中包含随机爆头的可爱自负。每次加载页面(或单击头像)时,它都会被新的头像替换。在我在 Facebook 上发布指向该网站的链接之前,它的效果很好。
然后发生的事情是当 Facebook 扫描页面以查找图像时,它没有找到随机图像,我认为是因为它不运行脚本。我希望 facebook 缩略图也有一个随机图像。
有没有办法在不求助于服务器端代码的情况下解决这个问题?
这是我现在要做的:
在头脚本部分
var lastTimeout = 0;
var lastHeadNum = 0;
function headURL(headCount)
{
url = "/public/images/heads/mtoy";
if( headCount < 10 )
url += "0";
url += headCount.toString();
url += ".gif";
return url;
}
function headshotImage()
{
lastHeadNum = Math.floor((Math.random()*87)+1);
document.write('<img id="headshot" src="' + headURL(lastHeadNum) + '" onclick="next_headshot();" width=150 height=150>\n');
lastTimeout = setTimeout("next_headshot();", 12000);
}
function next_headshot()
{
if (lastTimeout != 0)
clearTimeout(lastTimeout);
do {
headNum = Math.floor((Math.random()*87)+1);
} while (headNum == lastHeadNum);
lastHeadNum = headNum;
document.getElementById('headshot').src = headURL(headNum);;
lastTimeout = setTimeout("next_headshot();", 12000);
}
然后在body-html中
<div id="contents">
<script type="text/javascript">headshotImage();</script>
<H1 class="contenthead">Table of Contents</H1>
在以前的化身中,body-html 看起来像:
<div id="contents">
<img id="headshot" src="" onclick="next_headshot();">
<H1 class="contenthead">Table of Contents</H1>
然后我有一个 body.onload 处理程序来第一次调用 next_headshot,这与 Facebook 有同样的问题。