最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

判斷訪客終端類型集錦

 更新時間:2015年06月05日 10:35:13   投稿:hebedich  
本文給大家講解的是使用php和javascript實(shí)現(xiàn)的判斷訪客終端類型的方法集錦,十分的簡單實(shí)用,有需要的小伙伴可以參考下。

當(dāng)用戶使用手機(jī)等移動終端訪問網(wǎng)站時,我們可以通過程序檢測用戶終端類型,如果是手機(jī)用戶,則引導(dǎo)用戶訪問適配手機(jī)屏幕的移動站點(diǎn)。本文將介紹分別使用PHP和JAVASCRIPT代碼判斷用戶終端類型。

PHP版

我們使用PHP的$_SERVER['HTTP_USER_AGENT']來獲取手機(jī)用戶瀏覽器的用戶代理,然后匹配已有的各種手機(jī)瀏覽器代理庫,如果含有匹配的關(guān)鍵字,則判斷為手機(jī)(移動終端)用戶。

 
function is_mobile() { 
  $user_agent = $_SERVER['HTTP_USER_AGENT']; 
  $mobile_agents = array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi", 
  "android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio", 
  "au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu", 
  "cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ", 
  "fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi", 
  "htc","huawei","hutchison","inno","ipad","ipaq","iphone","ipod","jbrowser","kddi", 
  "kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo", 
  "mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-", 
  "moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia", 
  "nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-", 
  "playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo", 
  "samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank", 
  "sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit", 
  "tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin", 
  "vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce", 
  "wireless","xda","xde","zte"); 
  $is_mobile = false; 
  foreach ($mobile_agents as $device) { 
    if (stristr($user_agent, $device)) { 
      $is_mobile = true; 
      break; 
    } 
  } 
  return $is_mobile; 
} 

上述代碼中函數(shù)is_mobile()來判斷用戶終端類型,將收集到的當(dāng)今各種手機(jī)的HTTP_USER_AGENT歸結(jié)到數(shù)組$mobile_agents中,并進(jìn)行匹配。使用時只需調(diào)用函數(shù)is_mobile()。如以下代碼表示,當(dāng)匹配用戶為手機(jī)訪問時,頁面跳轉(zhuǎn)到網(wǎng)站手機(jī)版m.jb51.net。

 
if (is_mobile()) { 
  header('Location:http://m.jb51.net'); 
} else { 
  echo '請使用手機(jī)訪問.'; 
} 

Javascript版

您也可以直接在前端頁面上加入一段Javascript腳本來判斷用戶的終端類型。Javascript也是通過獲取瀏覽器的user-agent信息,然后匹配已有的user-agent信息庫。

 
if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry| 
WebOS|Symbian|Windows Phone|Phone)/i))) { 
  location.replace("http://m.jb51.net") 
}else{ 
  document.write("請使用手機(jī)訪問."); 
} 

以上代碼還不是很完善,有興趣的朋友歡迎補(bǔ)充。

當(dāng)然,我們也可以通過響應(yīng)式布局來匹配各種不同屏幕,這樣可以節(jié)約開發(fā)成本,但是當(dāng)客戶對移動網(wǎng)站的功能需求,對于獨(dú)立的移動站點(diǎn)最好是采用在網(wǎng)站入口處判斷用戶訪問終端類型,一般是我們在主站首頁就做判斷,如果是手機(jī)訪客則跳轉(zhuǎn)到手機(jī)版頁面,否則按正常PC方式訪問頁面。

相關(guān)文章

  • Bootstrap php制作動態(tài)分頁標(biāo)簽

    Bootstrap php制作動態(tài)分頁標(biāo)簽

    這篇文章主要為大家詳細(xì)介紹了Bootstrap php制作動態(tài)分頁標(biāo)簽的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 80行代碼寫一個Webpack插件并發(fā)布到npm

    80行代碼寫一個Webpack插件并發(fā)布到npm

    最近在學(xué)習(xí) Webpack 相關(guān)的原理,本文用80行代碼寫一個Webpack插件并發(fā)布到npm,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • countUp.js實(shí)現(xiàn)數(shù)字滾動效果

    countUp.js實(shí)現(xiàn)數(shù)字滾動效果

    這篇文章主要為大家詳細(xì)介紹了countUp.js實(shí)現(xiàn)數(shù)字滾動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS 實(shí)現(xiàn)緩存算法的示例(FIFO/LRU)

    JS 實(shí)現(xiàn)緩存算法的示例(FIFO/LRU)

    這篇文章主要介紹了JS 實(shí)現(xiàn)緩存算法的示例(FIFO/LRU),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • WebStorm ES6 語法支持設(shè)置&babel使用及自動編譯(詳解)

    WebStorm ES6 語法支持設(shè)置&babel使用及自動編譯(詳解)

    下面小編就為大家?guī)硪黄猈ebStorm ES6 語法支持設(shè)置&babel使用及自動編譯(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • JS模擬鍵盤打字效果的方法

    JS模擬鍵盤打字效果的方法

    這篇文章主要介紹了JS模擬鍵盤打字效果的方法,涉及javascript鼠標(biāo)事件及字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • JS延遲加載(setTimeout) JS最后加載

    JS延遲加載(setTimeout) JS最后加載

    為了讓一個廣告幾秒以后再執(zhí)行所以做個延遲加載的東東,用了JS實(shí)現(xiàn),還蠻好用的,算是分享,也是記錄吧。
    2010-07-07
  • 如何正確理解javascript的模塊化

    如何正確理解javascript的模塊化

    模塊化在項(xiàng)目中十分的重要,一個復(fù)雜的項(xiàng)目肯定有很多相似的功能模塊,如果每次都需要重新編寫模塊肯定既費(fèi)時又耗力。但是引用別人編寫模塊的前提是要有統(tǒng)一的“打開姿勢”,如果每個人有各自的寫法,那么肯定會亂套,下面介紹幾種JS的模塊化的規(guī)范。
    2017-03-03
  • 利用H5api實(shí)現(xiàn)時鐘的繪制(javascript)

    利用H5api實(shí)現(xiàn)時鐘的繪制(javascript)

    這篇文章主要為大家詳細(xì)介紹了利用H5api實(shí)現(xiàn)時鐘的繪制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 詳解JavaScript基本類型和引用類型

    詳解JavaScript基本類型和引用類型

    這篇文章主要介紹了JavaScript基本類型和引用類型,基本類型中還包含了類型轉(zhuǎn)換,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評論

新平| 成安县| 宁强县| 南皮县| 平陆县| 泗洪县| 商水县| 云和县| 马公市| 盐边县| 玛多县| 古丈县| 江孜县| 苏尼特右旗| 茌平县| 丰原市| 绥滨县| 新绛县| 东辽县| 烟台市| 华宁县| 泸西县| 称多县| 金阳县| 金湖县| 本溪| 青海省| 宽甸| 樟树市| 灵丘县| 启东市| 石狮市| 新竹县| 溧阳市| 马关县| 磐石市| 巫山县| 靖边县| 聂荣县| 遂溪县| 射阳县|