TShopping

 找回密碼
 註冊
搜索
查看: 1466|回復: 3

[教學] 網頁自動辨識電腦或手機(PHP、ASPX)

  [複製鏈接]
發表於 2013-4-25 00:48:03 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
現在隨著行動上網愈來愈夯,各大入口網站也紛紛的開始製作行動裝置的網頁,雖然說新一代智慧型手機中的瀏覽器,與電腦中所用的瀏覽器幾乎相同,皆可正常的瀏覽各大網站,但由於手機的螢幕與電腦相比,差異相當的大,以至於當使用手機來瀏覽電腦網頁時,就得手指放大魯來魯去,才可找到自已所要的資訊,這對於手機瀏覽上有些不便,所以會發現到,各大網站則會專門針對手機的版面加以設計,讓版面符合手機的瀏覽模式,除此之外使用者用手機瀏覽時,網頁也會自動切換為手機版本,而要這要怎麼辦到呢? 其實這需要透過Server端的程式來作一點小判斷,就可以作到自動的切換,這邊筆者整理一下手邊的資料, 分別針對PHP與ASPX作介紹。

PHP版本判斷:

  1. $mobile_browser = '0';

  2. if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
  3. $mobile_browser++;
  4. }

  5. if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
  6. $mobile_browser++;
  7. }

  8. $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
  9. $mobile_agents = array(
  10. 'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
  11. 'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
  12. 'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
  13. 'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
  14. 'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
  15. 'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
  16. 'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
  17. 'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
  18. 'wapr','webc','winw','winw','xda','xda-','Googlebot-Mobile');

  19. if(in_array($mobile_ua,$mobile_agents)) {
  20. $mobile_browser++;
  21. }

  22. if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
  23. $mobile_browser++;
  24. }

  25. if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
  26. $mobile_browser=0;
  27. }

  28. if($mobile_browser>0) {
  29. header("Location: mobile.php"); //手機版
  30. }else {
  31. header("Location: pc.php"); //電腦版
  32. }
複製代碼

ASPX版本判斷:

protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Headers["user-agent" != null && Request.Headers["user-agent".ToLower().ToString().IndexOf("windows") != -1)
        {                        
            Response.Redirect("pc.aspx"); //電腦版
        }
        else
        {
            Response.Redirect("mobile.aspx"); //手機版
        }
    }
之後上傳到網頁空間中,當用手機瀏覽時,就會自動切換到手機版的網頁,若是使用電腦時,就會自動切換為電腦的版本


 

臉書網友討論
發表於 2014-9-19 02:53:48 | 顯示全部樓層
太棒了  學習      

版主招募中

發表於 2014-10-3 13:00:03 | 顯示全部樓層
太棒了,感謝分享


發表於 2014-12-15 10:22:40 | 顯示全部樓層



  知道了 ~~~


您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-8 14:19 , Processed in 0.064476 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表