插件名称:字号(字体大小)调节插件
习惯网上看小说、新闻的网友喜欢大些的字体,这样看起来轻松;习惯网上交谈聊天的网友喜欢小些的字体,这样一目十行读起来更快。真是众口难调啊!所以字号选择功能现在大部分门户网站都具备了,这已经是基本功能,不能算插件了。对论坛来说,这种插件也比较多。我之所以再做这样一个东西是觉得以前的有些不足之处,我也希望phpwind下一个版本能集成这个功能而不必使用任何插件。毕竟,看小字体的长篇大论是很不舒服的,还是可以自由选择的好。
功能简介:可以用简单的操作方式任意调节所有楼层帖子的正文显示字号。
字号选择插件比较多,但是本插件的优势就是:
1. 可以简单的按大、中、小方式选择,也可以任意精确的选择任何大小字号(使用<<、>>链接);
2. 一次选择可以适用于所有楼层,而不必各个楼层反复设置;
3. 具有记忆功能,以后无需再次设置;
4. 记忆功能使用Cookie方式,无需更改任何代码数据表,安全高效,即使是游客也可以使用此功能;
5. 避免使用IE特有的JS写法,可以支持其他浏览器如FireFox、NetScape。
最新更新(12/27):因PW4新增了AJAX免提交编辑正文的功能,这个功能和现有的字号调节功能相冲突,也有使用者反映了。经检查代码后发现是HTML标签的ID冲突。为了照顾将来版本的PW AJAX功能有可能不仅可以直接编辑发贴正文,还可能会直接编辑回帖正文;考虑到有些用户关闭了AJAX功能;因此我改写了插件的写法,彻底放弃了使用标签的ID属性,这样无论是否开启AJAX功能,都不会引起冲突。并且新的写法还减少了一处修改代码的地方,安装更简单。
新的写法在IE和FireFox下测试通过。适用版本:PHPWIND任意版本都可以,但安装示例仅按照PHPWIND3.0.x版本。因插件不涉及数据库和程序代码,仅修改模板,因此很容易安装到其他版本。
作 者:Mike Zhang (phpwind.net注册用户:mike519)
修改文件:无
修改模板:在
template\wind\read.htm里找到
| <a href=# onClick="Addtoie('$db_bbsurl/read.php?fid=$fid&tid=$tid','$db_bbsname_a--$favortitle')">加为IE收藏</a> 在前面加上
【选择字体:<a href='javascript:void()' onclick="setFontSize('+')"><<</a> <a href='javascript:void()' onclick="setFontSize('big')">大</a> <a href='javascript:void()' onclick="setFontSize('middle')">中</a> <a href='javascript:void()' onclick="setFontSize('small')">小</a> <a href='javascript:void()' onclick="setFontSize('-')">>></a>】
<script>
_defaultFontSize = 13;
function setFontSize(cmd)
{
SC = document.body.getElementsByTagName("SPAN");
if (cmd=="+"||cmd=="-") {
for (i=0; i<SC.length; i++)
if (SC[i].className == "tpc_content") {
size = SC[i].style.fontSize.length==0? _defaultFontSize : parseInt(SC[i].style.fontSize.replace(/[^0-9]/g,''));
break;
}
size += cmd=="+"? 1 : -1;
}
else
size = cmd=="big"? 18 : (cmd=="middle"? 14 : 12);
for (i=0; i<SC.length; i++)
if (SC[i].className == "tpc_content")
SC[i].style.fontSize = size+"px";
var expdate = new Date();
expdate.setTime(expdate.getTime() + (3600*1000*24*365));
document.cookie = "fontSize=" + size + "; expires=" + expdate.toGMTString() + "; path=/";
}
</script>
在
template\wind\header.htm里找到
header("Content-Type: text/html; charset=gb2312");(在PW4里这句header()已被去掉,可以放在第一行
<!--<?php的下面一行)
在后面加入
$tpc_content_size = isset($_COOKIE['fontSize'])? $_COOKIE['fontSize']:13;
找到
.tpc_content { font-size: 13px;}更改为
.tpc_content { font-size: {$tpc_content_size}px;}
新的写法里不再需要做第四处修改了,这里保留做个纪念
在template\wind\read.htm里找到
找到<span class='tpc_content'>$read[content]</span>
改成<span class='tpc_content' id=text$read[lou]>$read[content]</span>
(第三点经xyz8051等几位网友提示,才发现是忘记写,现在补上)做这样三处修改就可以了,就是这么简单!添加文件:无
安装难度:容易
演示地址:
http://dssc.brchina.net的任意一篇帖子。
增加查询:无
注意事项: “_defaultFontSize = 13;”和“$_COOKIE['fontSize']:13;”两处的13是默认的字体大小。这也是phpwind的默认设置。
插件默认设置是“大中小”中的小字体,也就是13px。如果修改过默认字号的论坛需要注意这一点,更改一下就可以了。