определить мобильный браузер и поддержку JavaScript - PullRequest
1 голос
/ 22 февраля 2011

Я хочу определить, поступил ли запрос с мобильного браузера (я использую java / jsp)

Теперь, когда я захожу на страницу со своего мобильного телефона Samsung, я получаю заголовок пользовательского агента как: -

SAMSUNG-GT-S5620 / S5620DDJE1 SHP / VPP / R5 Dolfin / 1.5 Профиль SMM-MMS / 1.2.0 Nextreaming / конфигурация MIDP-2.1 / CLDC-1.1

, если я проверю, что заголовоксодержит iPhone, BlackBerry, Android, webOS, iPod, Samsung или есть более простой способ ...

Как я могу убедиться в том, что браузер поддерживает javascript и

, как это делает мобильныйбраузеры поддерживают hashchange или что-либо еще js " advanced "

Если javascript не поддерживается мобильным браузером, то я бы хотел перенаправить на простую страницу с одной формой ...

или мне нужно сделать простую страницу для мобильного браузера, чтобы она хорошо работала с поддержкой или без поддержки js

спасибо

Ответы [ 4 ]

2 голосов
/ 22 февраля 2011

Вы можете использовать что-то вроде WURFL , чтобы узнать, поддерживает ли браузер какой-либо уровень поддержки Javascript.

Однако вы не можете определить, включен ли в браузере Javascript или какой Javascriptфункции поддерживаются конкретной версией браузера на этом конкретном устройстве.

Вместо этого следует использовать прогрессивное усовершенствование в браузере, чтобы добавить функциональность на основе Javascript, протестировав для требуемой специфической функциональности.

1 голос
/ 22 февраля 2011

Вы пробовали использовать что-то вроде Modernizr ? В общем, вы не должны обнаруживать браузеры, потому что их так много, и вы просто не можете знать каждую функцию каждой версии каждого браузера на каждой платформе, не говоря уже о том, что вы даже не можете быть уверены, что заголовок пользовательского агента право. Вместо этого вы должны определить функции.

На мобильных платформах на много больше браузеров и больше несовместимостей, чем на настольных ПК. Попытавшись создать портативные веб-сайты для мобильных браузеров, вы действительно полюбите IE6 за его соответствие стандартам. Вот почему я рекомендую использовать что-то вроде jQuery Mobile для выполнения тяжелой работы по выявлению различий и несоответствий между платформами и предоставлению вам приятного и согласованного API. В противном случае вот список платформ, которые вы должны учитывать: http://jquerymobile.com/gbs/

0 голосов
/ 13 января 2013

Попробуйте: (хотя это делает обнаружение на стороне клиента)

 <!DOCTYPE html>
 <html>
   <head> <title> going from here to the real page... </title> </head>     
   <body>
    <noscript>
      Javascript is disabled.
      <meta HTTP-EQUIV="REFRESH" content="0; url=http://www.yourSite.com/yourStaticPage.html/"> 
    </noscript>
    <script type="text/javascript">
         // most of smartphons support this orientation property: 
         if (typeof window.orientation !== 'undefined'){   
             window.location.replace("http://yourSite.com/yourMobilePage.html");
         }
         else {          
             window.location.replace("http://yourSite.com/yourDesktopPage.html");
         }
    </script> 
  </body>
</html>
0 голосов
/ 28 февраля 2011

Используя www.handsetdetection.com, я бы сделал на стороне сервера обнаружения.Если браузер низкого качества или простой, перенаправьте их на простую мобильную страницу, если браузер приличный, отправьте их на свою мобильную страницу.

Обнаружение будет происходить на вашем главном сайте.Чтобы разрешить посетителям переходить с вашего мобильного сайта обратно на обычный сайт, проверьте ссылку http.Если рефералом является ваш мобильный сайт, не перенаправляйте их обратно.

Надеюсь, это поможет.

...