iPhone & iPod Detection
The JavaScript
1
2
3
4
5
|
if
((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
if
(document.cookie.indexOf(
"iphone_redirect=false"
) == -1){
window.location =
"http://yoursite.com/iphone"
;
}
}
|
The PHP
1
2
3
4
|
if
(
strstr
(
$_SERVER
[
'HTTP_USER_AGENT'
],
'iPhone'
) ||
strstr
(
$_SERVER
[
'HTTP_USER_AGENT'
],
'iPod'
)) {
header(
'Location: http://yoursite.com/iphone'
);
exit
();
}
|
Android Detection
The JavaScript
1
2
3
4
|
if
(navigator.userAgent.match(/Android/i)) {
// Redirect to Android-site?
window.location =
'http://android.yoursite.com'
;
}
|
The PHP
1
2
3
4
|
if
(
stripos
(
$_SERVER
[
'HTTP_USER_AGENT'
],
'Android'
) !== false) {
header(
'Location: http://android.yoursite.com'
);
exit
();
}
|
用 .htaccess 来检测Android
RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$ RewriteRule ^(.*)$ http://android.yoursite.com [R=301]
php判断用户是否使用手机设备
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// 判断是否属手机
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"
,
"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
;
}
// 执行
if
( is_mobile() ){
//Your Code
}
|
相关资源:
- http://www.hand-interactive.com/resources/detect-mobile-javascript.htm
- http://detectmobilebrowser.com/ (选择不同的开发语言来测试)
- http://www.zytrax.com/tech/web/mobile_ids.html(Mobile Browser ID (User-Agent) Strings)
http://blog.ithomer.net/2014/08/javascript-or-php-to-detect-mobile-devices/