📄 namecard.js
字号:
/* Qzone Project By Qzone Web Group. Copyright 1998 - 2008*/(function(){var Q=QZONE;QZONE.namecard=QZONE.namecard||(function(){var _cssInserted=false;function getAgeDescription(age,gender,showAgeNumber){if(showAgeNumber){return{ageCName:age};}else{var tm=["","童真年代","舞勺之年","青春年少","青年才俊","风华正茂","事业有成","成熟稳重","成功绅士","老当益壮","古稀之年","朝枚之年","鲐背之年","百岁高寿"];var tf=["","童真年代","豆蔻年华","妙龄少女","花样年华","红粉佳人","白领丽人","时尚伊人","优雅妇人","花甲之年","古稀之年","朝枚之年","鲐背之年","百岁高寿"];var l=[1,7,14,18,23,26,35,46,60,70,80,90,100];var getGrade=function(n){if(n<l[0]){return{g:0,d:"未满岁"};}else if(n>=l[l.length-1]){return{g:l.length,d:""};}else{for(var i=1,len=l.length;i<len;++i){if(n<l[i]){return{g:i,d:"("+l[i-1]+"-"+l[i]+"岁)"};}}}return 0;}var c=getGrade(age);return{ageCName:gender?tm[c.g]:tf[c.g],des:c.d,imgsrc:"http://"+imgcacheDomain+(c.g==0?"/ac/b.gif":("/qzone_v4/client/userinfo_icon/"+(gender?"g":"m")+c.g+".gif"))};}};function ncload(url,callFunName,onSuccess){var jg=new QZONE.JSONGetter(url);if(typeof(onSuccess)=='function'){jg.onSuccess=onSuccess;}jg.send(callFunName);}function findMethod(name){return window[name]?window[name]:(top[name]?top[name]:QZONE.emptyFn);}function findValue(name,dvalue){return window[name]?window[name]:(top[name]?top[name]:dvalue);}var _qzncalready=false;var imgcacheDomain=findValue('imgcacheDomain','imgcache.qq.com');var g_Main_Domain=findValue('g_Main_Domain','users.qzone.qq.com');var _qznc={cardDiv:null,show:false,currentAnchor:null,mX:0,mY:0,mW:325,mH:0,timerEvent:false,selectCtrlList:null,addFavorUin:findMethod('addFavorUin'),showMsgSender:findMethod('showMsgSender'),sendSoloGift:findMethod('sendSoloGift'),init:function(root){if(!_cssInserted){Q.css.insertCSSLink('http://'+imgcacheDomain+'/qzone_v5/css/card.css');}var alist=QZONE.dom.getElementsByClassName('q_namecard','*',root);var re=/^nameCard_(\d{5,10})$/;var tmp;for(var i=0,len=alist.length;i<len;i++){var _item=alist[i];if(tmp=re.exec(_item.getAttribute("link"))){_item.quin=parseInt(tmp[1],10);if(_item.quin&&_item.quin>10000){QZONE.event.removeEvent(_item,"mouseover",_qznc.countDownShow);QZONE.event.removeEvent(_item,"mouseout",_qznc.clearShow);QZONE.event.addEvent(_item,"mouseover",_qznc.countDownShow,[_item]);QZONE.event.addEvent(_item,"mouseout",_qznc.clearShow,[_item]);}}}if(!_qzncalready){_qznc.cardDiv=document.createElement("div");_qzncalready=true;}with(_qznc.cardDiv){id="qzNameCardDiv";style.position="absolute";style.top="0";style.left="0";style.zIndex=1024;style.width=_qznc.mW+"px";style.visibility="hidden";}if(!_qznc.cardDiv.parentNode){document.body.appendChild(_qznc.cardDiv);}_qznc.cardDiv.innerHTML="loading......";if(!_qznc.cardDiv.timerEvent){QZONE.event.addEvent(_qznc.cardDiv,"mouseover",function(e){clearTimeout(_qznc.currentAnchor.close_timer);});QZONE.event.addEvent(_qznc.cardDiv,"mouseout",function(e){_qznc.currentAnchor.close_timer=setTimeout(_qznc.closeNameCard,300);});_qznc.cardDiv.timerEvent=true;}},showNameCard:function(n){if(!_qznc.show){QZONE.event.removeEvent(document,"mousemove",_qznc.updateMousePosition);if(!top.g_JData){top.g_JData={};}if(!top.g_JData["portraitList"]){top.g_JData["portraitList"]={};}ncload("http://"+g_Main_Domain+"/fcg-bin/cgi_personalcard.fcg?uin="+n+((!top.g_JData["portraitList"][n])?"&p=1":""),'_Callback',_qznc.presentCard);}},makePos:function(){var c=document.body;with(_qznc){var res={x:mX,y:mY};var h=c.offsetWidth-(mX+mW);var v=c.offsetHeight-(mY+mH);if(h<0)res.x-=mW;if(v<0)res.y-=mH;}res.y+=Math.max(document.documentElement.scrollTop,document.body.scrollTop);res.x+=5;res.y+=5;return res;},showLoadingTip:function(e){var sT=document.getElementById("nameCardTip");if(!sT){sT=document.createElement("div");sT.id="nameCardTip";sT.style.cssText="position:absolute;";document.body.appendChild(sT);sT.innerHTML='<div class="qzone_card_loading">好友名片加载中...</div>';}var tmpH=_qznc.mH;var tmpW=_qznc.mW;_qznc.mH=30;_qznc.mW=160;var p=_qznc.makePos();_qznc.mH=tmpH;_qznc.mW=tmpW;sT.style.left=Math.max(p.x,0)+"px";sT.style.top=Math.max(p.y,0)+"px";sT.style.display="";sT=null;},hideLoadingTip:function(){var sT=document.getElementById("nameCardTip");if(!!sT){sT.style.display="none";sT=null;}},countDownShow:function(e,item){var evt=getEvent(e);var o=item;if(o==null){return;}o.timer=setTimeout(function(){_qznc.showNameCard(parseInt(o.quin,10));},1000);o.tipTimer=setTimeout(function(){_qznc.showLoadingTip(o);},500);_qznc.currentAnchor=o;_qznc.mX=evt.clientX;_qznc.mY=evt.clientY;QZONE.event.addEvent(document,"mousemove",_qznc.updateMousePosition);},updateMousePosition:function(e){var evt=getEvent(e);_qznc.mX=evt.clientX;_qznc.mY=evt.clientY;},clearShow:function(e,item){QZONE.event.removeEvent(document,"mousemove",_qznc.updateMousePosition);var o=item;if(o==null){return;}clearTimeout(o.timer);clearTimeout(o.tipTimer);_qznc.hideLoadingTip();o.close_timer=setTimeout(_qznc.closeNameCard,500);},closeNameCard:function(){with(_qznc){cardDiv.innerHTML="loading......";cardDiv.style.visibility="hidden";show=false;var ele=top.document.getElementById("_qzncCityStar");if(!!ele){ele.style.display="none";}hideSelectCtrl(true);}},prepareData:function(o){var sw=true;if(o.profile.state==1){if(o.bloginfo.title.replace(/^\s+|\s+$/,"")==""){o.bloginfo.titleLink="说明";o.bloginfo.content="这位用户删除了最近更新的日志,或已经很久没有更新日志了。快发个小纸条提醒他/她更新吧:)";}else{o.bloginfo.content='<a target="_blank" href="'+o.bloginfo.url.replace(/\-1$/,"")+'">'+o.bloginfo.content+'</a>';o.bloginfo.titleLink='<a target="_blank" href="'+o.bloginfo.url.replace(/\-1$/,"")+'">'+o.bloginfo.title.replace(/\(最新修改\)$/,"")+'</a>';}}else if(o.profile.state==2){o.bloginfo={titleLink:"说明",content:"这位用户设置了访问权限,为了保护隐私,不显示他/她的日志更新"};}else if(o.profile.state==0){o.profile.btnv=" none";o.bloginfo={titleLink:"说明",content:"这位朋友还没有开通QQ空间,所以没有任何空间资料。"+("<a style='text-decoration:underline;color:black;' target='_blank' href='http://"+imgcacheDomain+"/qzone/web/invite.htm?uin="+o.profile.uin+"'>邀请他/她开通,加入QQ空间大家庭>></a>")};sw=false;}o.vipclass="general";if(!!o.vipinfo){o.vipinfo.uin=o.profile.uin;o.vipinfo.grade=_qznc.getDiamonGrade(o.vipinfo.magic);o.vipclass="vip";_qznc._vip=true;}else{_qznc._vip=false;}var oMunicipality={"北京":true,"天津":true,"上海":true,"重庆":true,"香港":true,"澳门":true};var foreignCountry={'美国':83,'日本':84,'英国':85,'法国':86,'德国':87,'加拿大':88,'俄罗斯':89,'澳大利亚':90,'新西兰':91,'意大利':92,'韩国':93,'比利时':94,'瑞士':95,'新加坡':96,'墨西哥':97,'荷兰':98,'巴西':99,'印度':100,'爱尔兰':101,'马来西亚':102,'丹麦':103,'南非':104,'西班牙':105};if(!!o.portrait||sw){o.profile.sex=o.profile.gender=="2"?"女":"男";if(oMunicipality[trim(o.profile.province)]||foreignCountry[trim(o.profile.province)]){o.profile.addr=trim(o.profile.province)=="--"?"":("来自:"+trim(o.profile.province));}else{o.profile.addr=(trim(o.profile.city)=="--"||trim(o.profile.city)=="")?"":("来自:"+trim(o.profile.city));}o.profile.age=getAgeDescription(_qznc._fixAge(o.profile.age,o.profile.birthday),(o.profile.gender==1),o.profile.isDispAge);}if(!!o.portrait){o.profile.portraitImg=o.portrait[0];o.profile.userGrade=_qznc.getUserGrade(o.portrait[1])+"级";top.g_JData["portraitList"][o.profile.uin]=QZONE.lang.objectClone(o.portrait);}else if(sw){o.profile.portraitImg=top.g_JData["portraitList"][o.profile.uin][0];o.profile.userGrade=_qznc.getUserGrade(top.g_JData["portraitList"][o.profile.uin][1])+"级";}else{o.profile.portraitImg="http://"+imgcacheDomain+"/qzone_v4/client/userinfo_icon/5001.gif";o.profile.userGrade="";o.profile.sex="";o.profile.age="";o.profile.addr="";}},_fixAge:function(age,birth){age=parseInt(age);if(isNaN(age)||age<=0){var dNow=new Date();var dBir=birth.split("-");age=dNow.getFullYear()-dBir[0];age=(dNow.getMonth()+1)>(dBir[1]-0)?age:((dNow.getMonth()+1)<(dBir[1]-0)?age-1:(dNow.getDate()>=dBir[2]?age:age-1));}return age;},presentCard:function(data){if(!!data.error||!data.profile)return;with(_qznc){prepareData(data);hideSelectCtrl(false);hideLoadingTip();cardDiv.innerHTML=QZONE.namecard.html.replace(/\{\{([a-zA-Z_]+)\}\}/g,function(a,b){switch(b){case"imd":return"http://"+imgcacheDomain;case"uin":return data.profile.uin;case"nickname":return data.profile.nick;case"age":return data.profile.age.imgsrc?('<img src="'+data.profile.age.imgsrc+'" alt="'+data.profile.age.ageCName+'" />'):((typeof(data.profile.age.ageCName)!="undefined")?(data.profile.age.ageCName+"岁"):"");case"gender":return data.profile.sex;case"grade":return data.profile.userGrade;case"portraitImg":return data.profile.portraitImg;case"address":return data.profile.addr;case"btitlelink":return data.bloginfo.titleLink;case"bcontent":return data.bloginfo.content;case"cardtype":return data.vipclass;case"vipgrade":return(data.vipinfo?data.vipinfo.grade:"");case"vipinfo_v":return(data.vipinfo?"":' style="display:none;"');default:return"";}});mH=cardDiv.offsetHeight+1;var p=makePos();cardDiv.style.left=Math.max(p.x,0)+"px";cardDiv.style.top=Math.max(p.y,0)+"px";cardDiv.style.visibility="visible";if(!!data.profile.cityState){ncload("http://cityapi.qzone.qq.com/getjson.php?cmd=tip&uin="+data.profile.uin,'_CallBack',_qznc.getCityStar);}show=true;_qznc.sendStatistic((_qznc._vip)?"showVip":"showMain");_qznc._vip=false;}},hideSelectCtrl:function(b){if(window.ActiveXObject&&(!window.XMLHttpRequest)){var st=b?"visible":"hidden";var l=(_qznc.selectCtrlList=document.getElementsByTagName("select"));for(var i=0,len=l.length;i<len;++i){l[i].style.visibility=st;}}},getCityStar:function(data){if(_qznc.show){var state=parseInt(data.state,10);var ele=document.getElementById("_qzncCityStar");if(ele==null){return;}if(!isNaN(state)&&state>2){data.iv=(state>=3)?"":' style="display:none;"';data.pv=(state>=4)?"":' style="display:none;"';data.vv=(state>=5)?"":' style="display:none;"';ele.innerHTML=QZONE.namecard.cityTemp.replace(/\{\{([a-zA-Z_]+)\}\}/g,function(a,b){switch(b){case"cityhref":return"http://city.qzone.qq.com/index.php?mod=user&act=guest&uin="+data.uin;case"imd":return"http://"+imgcacheDomain;case"city":return data.city;case"type":return data.type;case"iv":return data.iv;case"pv":return data.pv;case"vv":return data.vv;default:return"";}});ele.style.display="";_qznc.sendStatistic("showCityStar");}}},getDiamonGrade:function(score){var t=[0,400,800,1600,3000];if(score<3000){for(var i=t.length-2;i>=0;i--){if(score-t[i]>=0){return(i+1);}}}else{var level=(5+Math.floor((score-3000)/2000));return(level>=7?7:level);}},getUserGrade:function(score){var t=[0,5,10,15,20,30,40,50,60,75,90];if(score<90){for(var i=t.length-2;i>=0;i--){if(score-t[i]>=0){return i;}}}else{return Math.floor(Math.sqrt(score/10))+7;}},sendStatistic:function(action,r){var data=["dm=namecard.qzone.qq.com","url="+encodeURIComponent("/"+action),];var r=/https?:\/\/(\w+(\.\w+)+)(\/[^?#]*)?/;var m=document.referrer.match(r);if(!!m){if(m.length>1)data.push("rdm="+m[1]);if(m.length>3)data.push("rurl="+encodeURIComponent(m[3]));}var c=QZONE.cookie.get("pvid");if(!c){c=(Math.round(Math.random()*2147483647)*(new Date().getUTCMilliseconds()))%10000000000;QZONE.cookie.set("pvid",c,false,false,(10*12*30*24*3600*1000/(3600000)));}data.push("pvid="+c);var sta=QZONE.statistic||top.QZONE.statistic;if(sta!=null){sta._toGet("http://pingfore.qq.com/pingd?scr=-&scl=-&lang=-&java=1&cc=-&pf=-&tz=-8&ct=-&vs=3.3&tt=-&"+data.join("&")+"&sds="+Math.random(),1000);}}}return _qznc;})();})();QZONE.namecard.html='<div class="qzone_card qzone_{{cardtype}}_card"><div class="card_top"><strong><a href="http://user.qzone.qq.com/{{uin}}" title="进入{{nickname}}的QQ空间" target="_blank">{{nickname}}</a></strong><a href="javascript:void(0);" onclick="QZONE.namecard.showMsgSender({{uin}});return false;" class="card_send_mail"><img src="{{imd}}/ac/b.gif" alt="发纸条" />发纸条</a><a href="javascript:void(0);" onclick="QZONE.namecard.addFavorUin({{uin}});return false;" class="card_add_friend"><img src="{{imd}}/ac/b.gif" alt="加好友" />加好友</a><a href="javascript:void(0);" onclick="QZONE.namecard.sendSoloGift({{uin}});return false;" class="card_send_gift"><img src="{{imd}}/ac/b.gif" alt="送礼物" />送礼物</a></div><div class="card_abstract"><div class="pic_info"><a href="http://user.qzone.qq.com/{{uin}}" target="_blank"><img src="{{portraitImg}}" alt="进入{{nickname}}的QQ空间" /></a><p><a href="http://user.qzone.qq.com/{{uin}}" target="_blank">{{gender}}</a> {{age}} <span>{{grade}}</span></p><p><a href="http://user.qzone.qq.com/{{uin}}/profile/" target="_blank">{{address}}</a></p></div><div class="card_main"><p class="card_main_title">·{{btitlelink}}</p><p class="card_summary">{{bcontent}}</p></div></div><div class="card_city" id="_qzncCityStar" style="display:none;"></div><div class="card_vip_info"{{vipinfo_v}}><a href="http://user.qzone.qq.com/{{uin}}/yellowgrade/" target="_blank" class="yellow_lv" title="黄钻贵族等级"><span>{{vipgrade}}</span></a></div></div>';QZONE.namecard.cityTemp='<p class="card_city_data"><a href="http://city.qzone.qq.com/" target="_blank" class="card_citer" title="城市达人用户"><img src="{{imd}}/ac/b.gif" alt="城市达人用户" /></a><span class="card_city_address">{{city}}</span><a href="{{cityhref}}" target="_blank" title="查看他/她的城市达人资料">{{type}}</a></p><p class="card_city_verification"><a href="{{cityhref}}" target="_blank"><img src="{{imd}}/ac/b.gif" class="info_validate" alt="城市达人资料通过审核"{{iv}} /></a><a href="{{cityhref}}" target="_blank"><img src="{{imd}}/ac/b.gif" class="photo_validate" alt="城市达人照片通过审核"{{pv}} /></a><a href="{{cityhref}}" target="_blank"><img src="{{imd}}/ac/b.gif" class="video_validate" alt="城市达人视频通过审核"{{vv}} /></a></p>';/* |xGv00|dd12137f98ca6d4dc6037a8af030236a */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -