使网站移动友好

时间:2010-02-16 20:18:37

标签: php iphone html mobile-phones

有没有办法实现这一点,当用手机或其他小型移动设备查看网站时,该网站会自动识别出正在查看该网站,并重新定向到手机友好的子域镜像或自动调用使手机友好的脚本?

非常感谢任何文章或建议!

4 个答案:

答案 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
}

参考:http://www.w3schools.com/js/js_browser.asp

答案 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