有没有办法实现这一点,当用手机或其他小型移动设备查看网站时,该网站会自动识别出正在查看该网站,并重新定向到手机友好的子域镜像或自动调用使手机友好的脚本?
非常感谢任何文章或建议!
答案 0 :(得分:3)
HTTP请求中的user-agent
可以帮助检测浏览器。然后,您可以在从特定浏览器查看页面时重定向到子域。
否则,也可以使用media
CSS选择器来使布局适应设备类型。有媒体类型handheld
,但我不知道它的支持程度如何。
答案 1 :(得分:2)
使用多个CSS。
<link href="/css/mobile.css" rel="stylesheet" type="text/css" media="handheld" />
答案 2 :(得分:0)
当然,您可以使用JavaScript代码来检查用户运行的浏览器类型,并对其进行适当的响应。例如:
var browser = navigator.appName;
if (browser == 'Mozilla Firefox') {
// do something
} else if (browser == 'Some Weird Browser') {
// do something else
}
答案 3 :(得分:0)
有几种方法可以帮助您检测移动浏览器。这是一些示例PHP代码:
function isMobileBrowser() {
if(isset($_SERVER["HTTP_X_WAP_PROFILE"])) return true;
if(preg_match("/wap\.|\.wap/i",$_SERVER["HTTP_ACCEPT"])) return true;
if(isset($_SERVER["HTTP_USER_AGENT"])){
// Quick Array to kill out matches in the user agent
// that might cause false positives
$badmatches = array("OfficeLiveConnector","MSIE\ 8\.0","OptimizedIE8","MSN\ Optimized","Creative\ AutoUpdate","Swapper");
foreach($badmatches as $badstring){
if(preg_match("/".$badstring."/i",$_SERVER["HTTP_USER_AGENT"])) return false;
}
// Now we'll go for positive matches
$uamatches = array("midp", "j2me", "avantg", "docomo", "novarra", "palmos", "palmsource", "240x320", "opwv", "chtml", "pda", "windows\ ce", "mmp\/", "blackberry", "mib\/", "symbian", "wireless", "nokia", "hand", "mobi", "phone", "cdm", "up\.b", "audio", "SIE\-", "SEC\-", "samsung", "HTC", "mot\-", "mitsu", "sagem", "sony", "alcatel", "lg", "erics", "vx", "NEC", "philips", "mmm", "xx", "panasonic", "sharp", "wap", "sch", "rover", "pocket", "benq", "java", "pt", "pg", "vox", "amoi", "bird", "compal", "kg", "voda", "sany", "kdd", "dbt", "sendo", "sgh", "gradi", "jb", "\d\d\di", "moto","webos");
foreach($uamatches as $uastring){
if(preg_match("/".$uastring."/i",$_SERVER["HTTP_USER_AGENT"])) return true;
}
}
return false;
}
来源:http://www.brainhandles.com/techno-thoughts/detecting-mobile-browsers