上期介绍了一段通过Javascript代码提示用户登录注册的简单插件,准确的说,这个还不算插件,只是一段通过JS代码去分析用户是否登录并给予提示。

今天,再介绍一段用Javascript代码提醒用户进行头像更新的小插件。这段代码当然比上次的要复杂一些,主要是要通过JS去判断用户是否处于登录状态,如果是,那么用户是否有更新过头像,如果没有,那么就弹出提示框,要求用户更新。运行效果如下图:

总体来说,代码都非常精简。力求做到不更改源代码,不安装多余插件,不管哪位用户将代码拷过去,基本上都保证可以使用。下面放出本段代码:

<!--以下代码适用于Discuz 2.0 请根据自己需要先更改Ucenter地址-->

<!--其他版本暂未作测试,可根据情况自行查找页面不同元素加以判断-->

<!--转载请注明 如有问题请去博客留言:http://www.nannannan.com/post/100.html-->

<script language="javascript">

function usernophoto(){

showDialog('<font color=red>您尚未更新头像,无法发帖回复及下载资料!</font></br>请立即点此<a href="/home.php?mod=spacecp&ac=avatar"><font color=green><b>更新头像</b></font></a>','notice','友情提醒',null,1);

}

var userid=discuz_uid.toString();//获取用户当前id

var imgurl="";//定义头像图片地址

//下面定义Ucenter地址,末尾不要加“/”,请根据自己网站的情况替换!

var ucenterurl="http://ucenter.mydomain.com/data/avatar";

var isinspace=-1;//默认用户未处于更新头像页面。

if(document.getElementById("ct"))//更新头像页面不再提醒

{

isinspace=document.getElementById("ct").innerHTML.indexOf("设置我的新头像");

}

if(parseInt(userid)>0&&isinspace==-1)

{

if(userid.length<=2)//以下判断uid位数,以确定其存放头像图片的具体路径。

{

if(userid.length==1){userid="0"+userid;}

imgurl="/000/00/00/"+userid+"_avatar_small.jpg";

}

else if(userid.length>2&&userid.length<=4)

{

var strend=userid.slice(-2);

var strstar=userid.slice(0,userid.length-2);

if(strstar.length==1){strstar="0"+strstar;}

imgurl="/000/00/"+strstar+"/"+strend+"_avatar_small.jpg";

}

else if(userid.length>4&&userid.length<=6)

{

var strend=userid.slice(-2);

var strmid=userid.slice(-4).slice(0,2);

var strstar=userid.slice(0,userid.length-4);

if(strstar.length==1){strstar="0"+strstar;}

imgurl="/000/"+strstar+"/"+strmid+"/"+strend+"_avatar_small.jpg";

}

else if(userid.length>6&&userid.length<=9)

{

var strend=userid.slice(-2);

var strmid=userid.slice(-4).slice(0,2);

var strstar=userid.slice(-6).slice(0,2);

var strtop=userid.slice(0,userid.length-6);

if(strtop.length==1){strtop="00"+strtop;}

else if(strtop.length==2){strtop="0"+strtop;}

imgurl="/"+strtop+"/"+strstar+"/"+strmid+"/"+strend+"_avatar_small.jpg";

}

imgurl=ucenterurl+imgurl;

//如果调用头像图片错误,则会执行弹出提醒。

document.write('<div style="display:none;height:0;"><img src="'+imgurl+'" width="0" height="0" onerror="usernophoto()" /></div>');

}

</script>

具体使用方法和注意事项:

请将代码添加至Discuz后台——运营——站点广告——全局 底部通栏广告。新建一个通栏广告,将上述代码粘贴进去即可。

如果您之前也在此广告位上添加过登录注册代码,鉴于同一个广告位的代码是随机只取一条显示。那么,为了保证两个插件同时都可以使用,务必在添加代码时选择一下具体位置。Discuz后台通栏广告一共提供了三个位置,分别是位置底部通栏的上、中、下。因此,将两段代码选择为不同的位置即可实现全部应用的效果了。

一般来说,在注册/登录页面最好不要选择显示该段代码,以免用户在这两个页面登录或注册时还要提醒就显得不人性化了。

特别注意:使用本代码前,一定先将里面的Ucenter地址换为自己网站的,切记!

其他的不多说了,希望想体验的用户可以试下,有什么问题,请直接回复评论。

本文版权归“独语斜栏” 转载请注明:http://www.nannannan.com/post/100.html