在Blogger的管理后台,通过 设置-基本-说明 可以编辑对该博客的描述。
这条说明会出现在博客标题的下方:
现在我有个想法:我想在这里展示我认为有哲理、有内涵的语句,并且可以添加多条,每一次页面刷新时都可以随机展示其中的一条给读者。
答案肯定是可以的啦。blogger给予用户足够的自由度,Blogger的主题都是由一个XML文档创建的。这个单一文档指定了网站的所有情况(索引/存档/项目),所有在“布局”中添加到小部件及对其的所有样式与内容修改,还有上述提到的“设置-基本”中的信息最后都反映在这一个XML文件里。
因此我们可以直接通过对该XML文件进行修改以达到我们想要的效果。
打开主题文件,按“CTRL+F”搜索“descriptionwrapper”,找到如图所示代码块
简单解释一下这段代码:1220-1224行定义了一个id="description"的<b:includable></b:includable>标签对,其中指定了该标签在被“include”时如何处理。<data:description/>就是博客说明的索引。在该标签中<div class='descriptionwrapper'>就是放置博客说明的容器。
在1216行<b:include name='description'/>通过name属性引用了上述<b:includable></b:includable>标签中的内容。注意,在1211-1214行以同样的方式引入了博客标题,而他们都放在id='header-inner'的<div>容器中。因此我们可以在网站中看到标题在上,说明在下的效果。
现在我们就要针对博客说明所在的<b:includable></b:includable>标签进行修改。
具体修改代码如下
<script type="text/javascript">
function readomDescription() {
var descriptions = ['獨立之精神;自由之思想。',
'暴力的结果往往是新的暴力。',
'First step in solving any problem is recognizing there is one.',
"如果尖锐的批评完全消失,温和的批评将会变得刺耳,如果温和的批评也不被允许,沉默将被认为居心叵测。如果沉默也不再允许,赞扬不够卖力将是一种罪行。",
"对权威的盲从是真理的最大敌人。--阿尔伯特.爱因斯坦",
'我们由于行使正义而变得正义,由于练习自我控制而变得自我控制,由于行为勇敢而变得勇敢。--亚里士多德'
];
var i = Math.floor(Math.random() * descriptions.length );
var encodeText = HTMLDecode(descriptions[i]);
document.getElementById("dspan").innerText = encodeText;
};
function HTMLDecode(text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
};
readomDescription();
window.setInterval(function(){readomDescription()},60000);
</script>
首先要把对设置-基本中编辑的说明的索引即<data:description/>删掉,同时给<span>标签赋予一个id,比如"dspan"。
然后在</b:includable>的上面添加图中的JS代码。
简单解释一下:
readomDescription()函数会随机获取descriptions[]列表中的其中一句并赋值给id="dspan"的<span>容器,展示在页面上。
HTMLDecode(text)函数是进行特殊字符的转码,descriptions[]列表中的中文标点符号会在主题文件保存时被自动转码,但是在赋值给<span>时却不会自动转换回来,因此显示在界面的就是一串莫名其妙的符号,因此在15行将获取到的语句先解码再赋值给<span>就能够显示正常的中文字符。
在27行使用了setInterval()计时函数,每经过60秒便执行一次readomDescription()函数更换说明内容,这样你会发现,每过一分钟我的博客说明就会自动更改啦。
如果你对代码没有一点了解,没有关系,以下列出需要自定义的地方,只需注意这几点就可以轻松搞定:
- 第3行,删除原来的<data:description/>,给span标签一个id。
- 第7行,在descriptions[]中添加你的语句,放在英文的单引号或双引号中,使用英文逗号分隔。
- 第16行,把document.getElementById("dspan")中的dspan改成你定义的id。
- 第27行,6000(毫秒)是我定义的时间,你可以更改为自己期望的间隔时间。
修改完主题文件点击保存,刷新你的博客你就会发现博客说明已经修改了,经过你定义的间隔时间后看看说明会不会自动变更吧。
以上就是修改博客说明的全部过程了,如果有不明白的地方可以给我留言,我会及时回复。


No comments:
Post a Comment