Создание сайта для мобильных устройств - PullRequest
2 голосов
/ 16 февраля 2010

Есть ли способ сделать так, чтобы при просмотре сайта с помощью телефона или другого небольшого мобильного устройства сайт автоматически распознавал, что он просматривается как таковой, или перенаправляет его на зеркало субдомена, дружественное к телефону, или автоматически вызывает скрипт, который делает его дружественным к телефону?

Любые статьи или советы будут с благодарностью!

Ответы [ 4 ]

3 голосов
/ 16 февраля 2010

user-agent в HTTP-запросе может помочь обнаружить браузер. Затем вы можете перенаправить на поддомен при просмотре страницы из определенных браузеров.

В противном случае CSS-селектор media также можно использовать для адаптации макета к типу устройства. Существует тип носителя handheld, но я не знаю, насколько хорошо он поддерживается.

2 голосов
/ 16 февраля 2010

Использовать несколько CSS.

<link href="/css/mobile.css" rel="stylesheet" type="text/css" media="handheld" />
0 голосов
/ 16 февраля 2010

Существует несколько методов, которые могут помочь вам обнаружить мобильные браузеры. Вот пример кода 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

0 голосов
/ 16 февраля 2010

Ну, конечно, вы можете использовать код 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

...