博客标题下面的ajax加载一句话
作者:matrix 发布时间:2015-01-12 分类:Wordpress 兼容并蓄
博客LOGO下面的一句话功能是照搬philna2主题弄的,点击一下就更新一句话的内容,是很久前的弄的小功能,现在回忆一下简单步骤。给需要的一位童鞋。
1.在wordpress主题的functions.php中添加代码
function HHTJimSay(){
$Sentence =
'
11111
22222
33333
44444
';
$words = explode("\n", $Sentence);
$word = $words[ mt_rand(1, count($words) - 2) ];
echo $word;
}
function _exitajax(){
exit();
}
function Is_AjaxURL() {
if((isset($_GET['do']) && $_GET['do'] == 'ajax') ) {
return true;
}else{
return false;
}
}
/**
* 通过USER_Agent判断是否为机器人.
*/
function is_bot(){
$bots = array('Google Bot1' => 'googlebot', 'Google Bot2' => 'google', 'MSN' => 'msnbot', 'Alex' => 'ia_archiver', 'Lycos' => 'lycos', 'Ask Jeeves' => 'jeeves', 'Altavista' => 'scooter', 'AllTheWeb' => 'fast-webcrawler', 'Inktomi' => 'slurp@inktomi', 'Turnitin.com' => 'turnitinbot', 'Technorati' => 'technorati', 'Yahoo' => 'yahoo', 'Findexa' => 'findexa', 'NextLinks' => 'findlinks', 'Gais' => 'gaisbo', 'WiseNut' => 'zyborg', 'WhoisSource' => 'surveybot', 'Bloglines' => 'bloglines', 'BlogSearch' => 'blogsearch', 'PubSub' => 'pubsub', 'Syndic8' => 'syndic8', 'RadioUserland' => 'userland', 'Gigabot' => 'gigabot', 'Become.com' => 'become.com','Bot'=>'bot','Spider'=>'spider','yinheli_for_test'=>'dFirefox');
$useragent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bots as $name => $lookfor) {
if (stristr($useragent, $lookfor) !== false) {
return true;
break;
}
}
}
if(Is_AjaxURL() && !is_bot()){//存在_GET且不是机器
add_action('Ready','HHTJimSay');
add_action('Ready', '_exitAjax', 9999);
}
do_action( 'Ready');
说明:
用于ajax后台提取一句话函数
4-7行处自己添加需要显示的一句话
2.在header.php中,加载完jq之后的位置添加js代码
var blogURL="https://www.hhtjim.com";//网站域名
$(function(){
function o(v){
url=v.u?v.u:blogURL+"?do=ajax";
if(v.fn){
var nowTime = new Date().getTime();
url+="&action="+v.fn+"&t="+nowTime
}
type=v.m?v.m:"GET";
data=v.d?v.d:null;
dataType=v.dt?v.dt:"html";
beforeSend=v.b?v.b:null;
error=v.e?v.e:function(){
alert(lang.commonError);
document.body.style.cursor="auto"
};
success=v.s?v.s:function(w){
alert(w)
};
$.ajax({
url:url,type:type,data:data,dataType:dataType,beforeSend:beforeSend,error:error,success:success
})
}
function u(){
var v=false;
var x=document.getElementById('HHTJimSay') ? $("#HHTJimSay") : $("#HHTJimSay_s") ;
var w="loading";
x.click(function(){
if(v){
return false
}
var z=function(){
x.hide(0,function(){
x.attr('title','').html("").addClass(w).show();//0秒后出现漏斗
});
v=true
};
var y=function(){
x.html(lang.commonError);
x.removeClass(w);
v=false
};
var A=function(B){
setTimeout(function(){
x.hide(0);
x.attr('title','点击这里获取更新').html(B).removeClass(w).fadeIn("slow"); //show(300)改fadeIn("slow") 淡入
v=false
}
,3000)//3000 漏斗出现时间
};
o({
b:z,e:y,s:A,fn:"HHTJimSay"
});
return false
})
}
u();
function n(){
var w=$("#welcome_msg");
var v=$("#profile");
var m=$("#author");
$("#edit_profile").toggle(function(){
w.slideUp(200);
v.slideDown(200);
m.select();
return false
}
,function(){
w.slideDown(200);
v.slideUp(200);
return false
})
}
n();
});
说明:修改第一行的网站域名
3.在header.php处需要显示的位置添加代码
<span id="HHTJimSay_s" title="点击这里获取更新" style="white-space: nowrap;" class="description"><?php HHTJimSay(); ?></span>
4.在style.css中添加样式代码
#HHTJimSay_s{background:url('data:image/gif;base64,R0lGODlhEAAQALMJALvM7rDE6aW86UV10leF2WWM2cXj/zNmzP///////wAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAAJACwAAAAAEAAQAAAENDDJCUoBM+tyTtGTMAgJ50mGNhxDUl2JIWciCaZgru/avPs+XZBHLOJuvSFKeQwec8oiKAIAIfkECQAACQAsAAAAABAAEAAABDcwyZlCoJiGc26WhrR1QEEAlKGKV8ERWIi5R/FhZYHefLLyv99N2CsaZRkkiLhU+iZCZ0xqxEQAACH5BAkAAAkALAAAAAAQABAAAAQ2MMlJq5XG3KlxF4NAZR01HENVUqC4vbAEFAWQZG9xHMW9VjpeLDGrDS8/jgq3/JWYNxj0eIkAACH5BAkAAAkALAAAAAAQABAAAAQ0MMlJq5XG3KlxT58XitXIbWhaBYGHBsfRZm/cqgmrAkUBlJZCrEDJjIQHAtDFI/w2NFwqAgAh+QQJAAAJACwAAAAAEAAQAAAENDDJSauVxtypcU+fF4rVyG1oimYpC5qUq84qLAxCzAJFASSDw6AkKRwOhcQtdzEiZzyfJQIAIfkECQAACQAsAAAAABAAEAAABDUwyUmrlcbcqXFPnxeK1chtaIpmKQualKtaQFEAc3EchTUSu14gQJoACLfAjghCKQ9M1fASAQAh+QQJAAAJACwAAAAAEAAQAAAENTDJSauVxtypcU+fF4rVyG2oBBQFkErFcRRolsRzra3t61+CgeAyGhwGlkwoOAR9TBTbDxUBACH5BAUAAAkALAAAAAAQABAAAAQ4MMlJq5XGXAlIAUk2aRRxHEWVkVJxpmoFFN82BYFNBWe+ibyD7yJK4HRIJCtGWVmczRFr+aQmLREAOw==') no-repeat 10000px 10000px;cursor:pointer;}
#HHTJimSay_s.loading{cursor:default;display:none;background-position:center center;width:18px;height:16px;}