Github项目Mobile-Detect-检测移动设备的php类

作者:matrix 发布时间:2015年1月14日星期三 分类:兼容并蓄 统称移动端

Mobile-Detect-检测移动设备的php类
Mobile-Detect php类可以检测是否为移动设备,不用你自己写代码判断ua。它使用 User-Agent 中的字符串,并结合 HTTP Header,来检测移动设备环境,比较靠谱。

网盘备份:http://pan.baidu.com/s/1pJBMFe7

Github地址:https://github.com/serbanghita/Mobile-Detect
官网:http://mobiledetect.net/
DEMO:http://demo.mobiledetect.net/

函数示例

// 载入并实例化类
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
// 移动设备 (手机和平板).
if ( $detect->isMobile() )
//平板设备
if( $detect->isTablet() )
// 判断os
if( $detect->isiOS() )
if( $detect->isAndroidOS() )
...
// 其他的
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
...

说明:更多的函数请查看DEMO处

阅读剩余部分 »

博客标题下面的ajax加载一句话

作者:matrix 发布时间:2015年1月12日星期一 分类:wordpress建站 兼容并蓄

博客LOGO下面的一句话功能是照搬philna2主题弄的,点击一下就更新一句话的内容,是很久前的弄的小功能,现在回忆一下简单步骤。给需要的一位童鞋。

1.在WordPress主题的functions.php中添加代码

  1. function HHTJimSay(){
  2.     $Sentence =
  3.     '
  4.     11111
  5.     22222
  6.     33333
  7.     44444
  8.     ';
  9.     $words = explode("\n"$Sentence);
  10.     $word = $words[ mt_rand(1, count($words) - 2) ];
  11.     echo $word;
  12. }
  13. function _exitajax(){
  14. exit();
  15. }
  16. function Is_AjaxURL() {
  17.     if((isset($_GET['do']) && $_GET['do'] == 'ajax') ) {
  18.         return true;
  19.     }else{
  20.         return false;
  21.     }
  22. }
  23. /**
  24.  * 通过USER_Agent判断是否为机器人.
  25.  */
  26. function is_bot(){
  27.     $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');
  28.     $useragent = $_SERVER['HTTP_USER_AGENT'];
  29.     foreach ($bots as $name => $lookfor) {
  30.         if (stristr($useragent$lookfor) !== false) {
  31.             return true;
  32.             break;
  33.         }
  34.     }
  35. }
  36. if(Is_AjaxURL() && !is_bot()){//存在_GET且不是机器
  37. add_action('Ready','HHTJimSay');
  38. add_action('Ready', '_exitAjax', 9999);
  39. }
  40. do_action( 'Ready');

说明:
用于ajax后台提取一句话函数
4-7行处自己添加需要显示的一句话

2.在header.php中,加载完jq之后的位置添加js代码

  1. var blogURL="https://www.hhtjim.com";//网站域名  
  2. $(function(){  
  3.     function o(v){  
  4.         url=v.u?v.u:blogURL+"?do=ajax";  
  5.         if(v.fn){  
  6.             var nowTime = new Date().getTime();  
  7.             url+="&action="+v.fn+"&t="+nowTime  
  8.         }  
  9.         type=v.m?v.m:"GET";  
  10.         data=v.d?v.d:null;  
  11.         dataType=v.dt?v.dt:"html";  
  12.         beforeSend=v.b?v.b:null;  
  13.         error=v.e?v.e:function(){  
  14.             alert(lang.commonError);  
  15.             document.body.style.cursor="auto"  
  16.         };  
  17.         success=v.s?v.s:function(w){  
  18.             alert(w)  
  19.         };  
  20.         $.ajax({  
  21.             url:url,type:type,data:data,dataType:dataType,beforeSend:beforeSend,error:error,success:success  
  22.         })  
  23.     }  
  24.   
  25.     function u(){  
  26.         var v=false;  
  27.         var x=document.getElementById('HHTJimSay') ? $("#HHTJimSay") : $("#HHTJimSay_s") ;  
  28.         var w="loading";  
  29.         x.click(function(){  
  30.             if(v){  
  31.                 return false  
  32.             }  
  33.             var z=function(){  
  34.                 x.hide(0,function(){  
  35.                     x.attr('title','').html("").addClass(w).show();//0秒后出现漏斗  
  36.                   
  37.                 });  
  38.                 v=true  
  39.             };  
  40.             var y=function(){  
  41.                 x.html(lang.commonError);  
  42.                 x.removeClass(w);  
  43.                 v=false  
  44.             };  
  45.             var A=function(B){  
  46.                 setTimeout(function(){  
  47.                     x.hide(0);  
  48.                     x.attr('title','点击这里获取更新').html(B).removeClass(w).fadeIn("slow"); //show(300)改fadeIn("slow") 淡入  
  49.                     v=false  
  50.                 }  
  51.                 ,3000)//3000 漏斗出现时间  
  52.             };  
  53.             o({  
  54.                 b:z,e:y,s:A,fn:"HHTJimSay"  
  55.             });  
  56.             return false  
  57.         })  
  58.     }  
  59.     u();  
  60.     function n(){  
  61.         var w=$("#welcome_msg");  
  62.         var v=$("#profile");  
  63.         var m=$("#author");  
  64.         $("#edit_profile").toggle(function(){  
  65.             w.slideUp(200);  
  66.             v.slideDown(200);  
  67.             m.select();  
  68.             return false  
  69.         }  
  70.         ,function(){  
  71.             w.slideDown(200);  
  72.             v.slideUp(200);  
  73.             return false  
  74.         })  
  75.     }  
  76.     n();  
  77. });  

说明:修改第一行的网站域名

3.在header.php处需要显示的位置添加代码

  1. <span id="HHTJimSay_s" title="点击这里获取更新" style="white-space: nowrap;" class="description"><?php HHTJimSay(); ?></span>

4.在style.css中添加样式代码

  1. #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;}
  2. #HHTJimSay_s.loading{cursor:default;display:none;background-position:center center;width:18px;height:16px;}