// Traffic Stats of the entire Web site By baidu end
document.write("");
document.write("");
var _gaq = [];
var userAgent = navigator.userAgent.toLowerCase();
// Traffic Stats of the entire Web site By baidu
var _hmt = _hmt || [];
(function() {
var getCookie =function (objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++){
var temp = arrStr[i].split("=");
if(temp[0] == objName && objName=="UD") return decodeURIComponent(temp[1]);
if(temp[0] == objName) return decodeURI(temp[1]);
}
}
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
// Traffic Stats of the entire Web site By baidu end
/**
* 判断是否是博客网站
* @return {Boolean} [description]
*/
function is_blog(){
var loac_host = window.location.host;
if(loac_host.indexOf("blog")=== 0)return true;
else return false;
}
function siteId(){
var loac_host = window.location.host;
// loac_host ='www.csdn.net'
var siteId;
if(loac_host.indexOf("blog")=== 0){
siteId = 'UA-127895514-2'
}else if(loac_host.indexOf("download")=== 0){
siteId = 'UA-127895514-8'
} else if(loac_host.indexOf("edu")=== 0){
siteId = 'UA-127895514-9'
} else if(loac_host.indexOf("bbs")=== 0){
siteId = 'UA-127895514-4'
}else if(loac_host.indexOf("ask")=== 0){
siteId = 'UA-127895514-5'
}else if(loac_host.indexOf("gitbook")=== 0){
siteId = 'UA-127895514-10'
}else if(loac_host.indexOf("iteye")=== 0){
siteId = 'UA-127895514-6'
}else if(loac_host.indexOf("passport")=== 0){
siteId = 'UA-127895514-7'
}else if(loac_host.indexOf("so")=== 0){
siteId = 'UA-127895514-3'
}else if(loac_host.indexOf("www")=== 0){
if (loac_host.indexOf("iteye")>0){
siteId = 'UA-127895514-6'
}else {
siteId = 'UA-127895514-1'
}
}else {
siteId = ''
}
return siteId
}
/**
* 确定是否博客并有用户名
* @return {Boolean} [description]
*/
function is_bloger() {
try {
if(is_blog() && username){
return true;
}
} catch (e) {
return false;
}
}
!(function($){
var currUser={
userName:"",
userNick:'设置昵称',
desc : '编辑自我介绍,让更多人了解你',
avatar:"//csdnimg.cn/public/common/toolbar/images/100x100.jpg"
};
var prodLogo = "none";
var $oScriptTag =$("#toolbar-tpl-scriptId");
var skin =$oScriptTag.attr("skin")=="black"?" csdn-toolbar-skin-black ":"";
var fixed = $oScriptTag.attr("fixed")=="top"?" navbar-fixed-top ":"";
var prodIndex= $oScriptTag.attr("domain")?$oScriptTag.attr("domain"):window.location.protocol+"//"+window.location.host;
prodIndex+='_logo';
var getCookie =function (objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++){
var temp = arrStr[i].split("=");
if(temp[0] == objName && objName=="UD") return decodeURIComponent(temp[1]);
if(temp[0] == objName) return decodeURI(temp[1]);
}
}
var setCookie = function (name,value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();// + ";domain=.csdn.net;path=/";
}
var HTMLEncode =function(str) {
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g, "&").replace(//g, ">").replace(/\'/g, "'").replace(/\"/g, """);
return s;
}
var AUtoAvatar = function(AU){
if(!AU||!currUser.userName){
return false;
}
var _AUPath = AU.split("").join("/");
var userName = currUser.userName&&currUser.userName.toLowerCase();
return "//profile.csdnimg.cn/"+_AUPath+"/2_"+userName;
}
var hasLogin = false;
var loginMark ="unlogin";
function checkLogin(callback) {
currUser.userNick = getCookie("UserNick") ||currUser.userNick;
currUser.userName = getCookie("UserName") || currUser.userName;
currUser.avatar = AUtoAvatar(getCookie("AU")) || currUser.avatar;
currUser.desc = getCookie("UD") || currUser.desc;
if(getCookie("UD")){
currUser.desc = HTMLEncode(currUser.desc.replace(/\+/g," "));
}
callback(currUser);
}
checkLogin(function(currUser){
if(currUser.userName){
hasLogin = true;
_hmt.push(['_setUserTag', '5744', currUser.userName]);
}
loginMark = hasLogin?"":"unlogin";
})
/*
* init pord logo
*/
var prodJSON = {
"blog" : "blog-icon",
"download" : "down-icon",
"bbs" : "bbs-icon",
"my" :"space-icon",
"code" : "code-icon",
"share" : "share-icon",
"tag" : "tag-icon",
"dashboard":"dashboard-icon",
"news" : "news-icon",
"tag" : "tag-icon",
"ask" : "ask-icon",
"notify" : "notify-icon"
}
if(prodJSON[$oScriptTag.attr("prod")]){
prodLogo=prodJSON[$oScriptTag.attr("prod")]||$oScriptTag.attr("prod");
}
/**
* 二级域名 getSecondaryDomain
* @return {string} 二级域名
*/
var getSecondaryDomain = (function () {
var host = window.location.host;
return host.split('.')[0]
})()
// festival customize
var start_time = 1546012800, // toolbar 特殊样式起始时间戳new Date(2018,11,29).getTime()/1000
end_time = 1546358400, // toolbar 特殊样式结束时间戳
now_time = Math.floor(Date.now() / 1000), // 当前时间戳
logo_tpl = '', // 正常样式
logo_title = 'CSDN首页', // 正常提示
logo_href= 'https://www.csdn.net';
/**
* 当前时间在起始与结束时间内时触发
*/
// if(now_time > start_time && now_time start_time && now_time < end_time ){
// logo_tpl = '';
// logo_title = '中秋节';
// }
if(now_time > start_time && now_time < end_time ){
logo_tpl = '';
logo_title = 'csdn-newyear';
}
var input_placeholder = "搜CSDN";
if (is_bloger()) {
input_placeholder = "搜博主文章"
}
// 因为 logo 是SVG 的,所以必须把 iconfont.js 加入到代码里面
var protocol = location.protocol.substr(0, 4) === 'http' ? '' : 'http:';
document.write('');
// 注册url,https://passport.csdn.net/account/register
// 首页\
// CSTO\
//GitChat\
// \
//扫码下载安卓版
\
//TinyMind
//ITeye\
var tpl ='\';
$(document.body).prepend($(tpl));
$('#csdn-toolbar .logout').click(function(){
window.location.href = 'https://passport.csdn.net/account/logout?from='+encodeURIComponent(window.location.href);
})
var timeOut = 1;
if((window.location.host.indexOf('bbs.csdn.net')>-1 && window.location.pathname.indexOf('home')>-1)||(window.location.host.indexOf('bbs.csdn.net')>-1 && window.location.pathname.indexOf('forums')>-1)){
$('.csdn-toolbar').addClass('csdn-toolbarbbshome')
}
function istracking(){
if(timeOut>10){
return false;
}
try {
if(typeof(csdn.trackingAd) === 'function'){
bindTracking();
}else{
timeOut++;
setTimeout(istracking,1000);
}
} catch (e) {
timeOut++;
setTimeout(istracking,1000);
}
}
istracking();
function bindTracking(){
csdn.trackingAd('.toolbar-tracking', {
pid: 'toolbar',
mod: 'popu_366',
mtp: '1'
});
// search_bar
csdn.trackingAd('.search_bar', {
pid: 'toolbar',
mod: 'popu_369',
mtp: '1'
});
csdn.trackingAd('.write-bolg-btn', {
pid: 'toolbar',
mod: 'popu_370',
mtp: '1'
});
}
// 消息新接口
(function() {
if(!hasLogin) return ;
var url = '//msg.csdn.net/v1/web/message/view/unread';
var maxNum = 10;
var elems = $('#msgList a em');
var msgCircle = $('#msg-circle');
var docTitle = document.head.getElementsByTagName('title');
var docTitleText;
docTitle = docTitle && docTitle[0];
docTitle && (docTitleText = docTitle.innerHTML);
$.ajax({
url: url,
type: 'post',
xhrFields: {
withCredentials: true
},
dataType: 'json',
success: function (json) {
var len;
if (json.status) {
json = json.data;
// || {
// comment: 100,
// follow: 5,
// invitation: 8,
// system: 0,
// thumb_up: 2,
// totalCount: 9
// };
if((len = json.totalCount) > 0){
if (len >= maxNum){
len = '9+';
}
len && docTitle && (docTitle.innerHTML = '(' + len + '条消息)' + docTitleText)
msgCircle.html(len).fadeIn();
elems.each(function (i, el) {
var oClass = $(el).attr('class');
var strNum = Number(json[oClass], 10);
if (strNum >= maxNum) {
strNum = (maxNum-1) + '+'
}
strNum && $(el).html(strNum);
})
}
}
},
error: function (err) {
console.error('消息服务错误!', err, err.responseText)
}
});
})()
/*
全站新添修改
@description
toolbar调整
gitchat全站通栏广告添加
*/
$(function(){
// control bbs toolbar
function controlToolBarBBs(){
if($('#main-home').hasClass('open')){
$('#csdn-toolbar').addClass('tb_bbs');
}
$('.left_side > span').on('click',function(){
if($(this).hasClass('btn_toggle_yc')){
$('#csdn-toolbar').removeClass('tb_bbs');
}
if($(this).hasClass('btn_toggle_xs')){
$('#csdn-toolbar').addClass('tb_bbs');
}
});
}
// gitchat 广告全站添加
function advert(){
var t = 2000,
cookieTime = 60*60*24,
cookieKey = 'is_advert',
domain = '.csdn.net',
isStart = false,
advertDate = {
start: '2018/06/07 06:00:00',
end: '2018/06/30 00:00:00'
};
// contronl start
isStart = adverControlDate();
// clear cookie
if(!isStart){
// clear is_advert
if(getCookie(cookieKey)){
setCookie(cookieKey, '', 0);
}
return false;
}
dynamicTpl({
posDom: $('#csdn-toolbar')
},function(opts){
var optDom, adDom, closeDom, adDomLink;
optDom = opts.optDom;
adDom = opts.tplDom;
closeDom = $('#js_advert_close');
adDomLink = adDom.find('.advert-a').get(0);
// 点击关闭
closeDom.on('click', function(){
advertClose(adDom);
return false;
})
// 验证是否存在
if(getCookie(cookieKey)){
adDom.addClass('advert-cur');
return false;
}else{
adDom.addClass('advert-ex');
}
// start animation
setMove(function(){
// 缩小
adDom.removeClass('advert-ex');
return true;
},function(flg){
setMove(function(){
adDom.addClass('advert-cur');
return true;
},200)
// 写入cookie
if(flg){
if(!getCookie(cookieKey)){
setCookie(cookieKey, '', cookieTime);
}
}
}, t);
});
// 控制动画流程
function setMove(beforeCallback, callback, t){
var flg;
if(!beforeCallback){
return false;
}
if(callback && typeof callback === 'number' && Number(callback, 10) > 0){
t = callback;
}
if(!t){
return false;
}
setTimeout(function(){
flg = beforeCallback();
if(flg){
typeof callback === 'function' && callback(flg);
}
}, t);
}
// cookie设定
function setCookie(key, value, t){
var oDate = new Date();
var dayTime = oDate.getDate() + t;
var v;
oDate.setDate(dayTime);
v = value || oDate.toGMTString();
document.cookie = key + '=' + encodeURIComponent(v) + '; max-age=' + t + '; domain=' + domain;
return true;
}
// 获得cookie
function getCookie(key){
var cookies = document.cookie;
var a = cookies.split('; '), b, c;
for(var i=0; i= advertStart && curTime < advertEnd){
flg = true;
}
return flg;
}
// control tpl
function dynamicTpl(options, callback){
var opts, optDom, adDom, styl, tpl;
opts = options ? options : null;
if(!opts){
return false;
}
optDom = opts.posDom ? opts.posDom instanceof jQuery ? opts.posDom : $(opts.posDom) : null;
if(!optDom){
return false;
}
styl = '';
tpl = '';
if(optDom.length<=0){
return false;
}
optDom = optDom[0];
adDom = $(tpl);
document.head.insertBefore($(styl)[0], document.head.getElementsByTagName('title')[0]);
document.body.insertBefore(adDom[0], optDom);
callback && typeof callback === 'function' && callback({optDom: $(optDom), tplDom: adDom});
}
}
// run
controlToolBarBBs();
advert();
})
// hover
$(function(){
var moreHover={
showMore: function(){
var $dom = $('.show-more .more');
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$dom.stop(true,true).fadeIn(200);
},
hideMore:function(){
var $dom = $('.show-more .more');
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$dom.stop(true,true).fadeOut(300);
}
}
var userHover={
showMore: function(tagBox, tag){
var $dom = $(tagBox);
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$dom.stop(true,true).fadeIn(200);
tag && $(tag).hide()
},
hideMore:function(tagBox){
var $dom = $(tagBox);
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$dom.stop(true,true).fadeOut(300);
}
}
var appHover={
showMore: function(){
var $dom = $('.appControl');
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$('.app-btn a').css('color','#C03A3A')
$dom.stop(true,true).fadeIn(200);
},
hideMore:function(){
var $dom = $('.appControl');
if($dom.is(":animated")){
$dom.stop(true,true).fadeIn(200);
}
$('.app-btn a').css('color','')
$dom.stop(true,true).fadeOut(300);
}
}
$('.show-more').hover(moreHover.showMore,moreHover.hideMore)
$('.userLogin').hover(function () {
userHover.showMore('.userControl', '.guo_tip_box')
}, function () {
userHover.hideMore('.userControl')
})
$('.app-btn').hover(appHover.showMore,appHover.hideMore)
$('.guo_tip_box').hover(function(){
$(this).css('display','none')
$.get('https://statistic.csdn.net/toolbar/followTipsclose');
})
$('.blog_tip_box').hover(function(){
$(this).css('display','none')
})
// 消息下拉
$('#msgBox').hover(function () {
hasLogin && userHover.showMore('#msgList')
}, function () {
hasLogin && userHover.hideMore('#msgList')
})
// 必须是在登录之后展示 并且存cookie
if(hasLogin && !getCookie('blogTipShow')){
$('.write-bolg-btn .blog_tip_box').show()
} else {
$('.write-bolg-btn .blog_tip_box').hide()
}
$(document).on('click','#blogClick',function(){
setCookie('blogTipShow',true)
})
if(!getCookie('c_adb')){
var importCheck = document.createElement('script');
importCheck.type="text/javascript";
importCheck.src = 'https://g.csdnimg.cn/check-adb/1.0.3/check-adb.js';
document.head.appendChild(importCheck);
}
})
// search
$(function(){
//获取 网站位置
function getT(){
var title = window.location.host.split( ".",1)[0];
var t = ''
switch (title) {
case 'www':
t = ' '
break;
case 'blog':
t = 'blog'
break;
case 'blog':
t = 'codes_snippet'
break;
case 'bbs':
t = 'discuss'
break;
case 'download':
t = 'doc'
break;
case 'ask':
t = 'ask'
break;
case 'gitchat':
t = 'gitchat'
break;
case 'geek':
t = 'news'
break;
case 'edu':
t = 'course'
break;
default:
t = ' '
}
return t;
}
/**
* 尝试获取用户名,拼接搜索链接
* @return {[type]} [description]
*/
function get_user_name(){
var addusername = "&u=";
if(is_bloger()){
addusername += username;
}
return addusername;
}
function goFn(obj,txt){
var searchTxt = encodeURIComponent(txt),
url = "//so.csdn.net/so/search/s.do?q="+searchTxt + "&t="+getT()+get_user_name();
if(searchTxt == ''){
return false;
}else{
window.open(url)
}
}
var searchBtn = $(".btn-search"),
searchInpt = $(".input_search"),
_this = this;
//高亮当前导航
var myNav=document.getElementById("nav-left-menu").getElementsByTagName("a");
var currenturl = document.location.href;
currenturl = currenturl.substr(currenturl.indexOf('/'));
if(currenturl.indexOf('//edu.csdn.net')!=-1){
input_placeholder = "搜索学院课程"
$('#toolber-keyword')[0].setAttribute('placeholder',input_placeholder)
}
//学院搜索
function eduSearch(obj,txt){
var searchTxt = encodeURIComponent(txt),
url = "https://so.csdn.net/so/search/s.do?q="+searchTxt+"&t=course"
if(searchTxt == ''){
return false;
}else{
window.open(url)
}
}
for(var i=0;i0){
$('.btn-search').detach();
$('.search_bar').append('');
}else{
$('.btn_clear').detach();
$('.search_bar').append('');
}
}
// toolbar_prompt_hover($('.write-bolg-btn a'),'写博客')
// toolbar_prompt_hover($('.gitChat a'),'发布Chat')
// toolbar_prompt_hover($('.search_bar'),'err')
function toolbar_prompt_hover(e,text){
e = e instanceof jQuery ? e:$(e);
e.css({'position':'relative'})
var con = {
e:e,
text:text,
isbind:false
},
isHave = false;
this.events = this.events ? this.events : [con];
for (var i = 0; i < this.events.length; i++) {
if(this.events[i].e[0] == e[0]){
this.events[i].text = text;
this.events[i].e.children('.toolbar-prompt-box').text(this.events[i].text);
isHave = true;
}
}
if(!isHave){
this.events.push(con);
isHave= false
}
if(!this.events[this.events.length-1].isbind){
toolbar_binding(this.events[this.events.length-1])
this.events[this.events.length-1].isbind = true;
}
}
function toolbar_binding(evens){
var even = evens.e;
t = evens.text;
even.append(toolbar_tpls(t))
var even_children = even.children('.toolbar-prompt-box'),
even_children_w = even_children.width(),
even_width = even.width();
even_children.css({'left':-((even_children_w+16-even_width)/2)}).children().css({'left':(even_children_w+16)/2-5})
even.hover(toolbar_prompt_show,toolbar_prompt_hide)
}
function toolbar_tpls(t) {
var tpl = '';
return tpl;
}
function children_show(t){
$(t).children('.toolbar-prompt-box').fadeIn(500)
}
var clearTime;//计时器id
function toolbar_prompt_show() {
if($(this).children('.toolbar-prompt-box').is(":animated")){
$(this).children('.toolbar-prompt-box').stop(true,true).css({'display':'block'})
}else{
clearTime = setTimeout(children_show,1000,this);
}
}
function toolbar_prompt_hide() {
clearTimeout(clearTime)
$(this).children('.toolbar-prompt-box').fadeOut(500)
}
// 阻止
$(document).on('click','.prevent_a',function(e){
e.preventDefault();
});
function loadScript(url, callback){
var script = document.createElement ("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
loadScript("//csdnimg.cn/search/baidu_opensug-1.0.0.js",function(){
BaiduSuggestion.bind("toolber-keyword",{
"XOffset":"0",
"YOffset":"-5",
"fontSize":"14px", //文字大小
"width" : 200,
"line-height" : "35px",
"padding" : "0 10px",
"borderColor":"#e2e2e2", //提示框的边框颜色
"bgcolorHI":"#f44444", //提示框高亮选择的颜色
"sugSubmit":false //在选择提示词条是是否提交表单
});
});
})
})(jQuery);