2012-01-02 2 views
3

Я только что начал экспериментировать с Grails и хотел бы узнать упрощенный метод обнаружения мобильного браузера.Что такое упрощенный способ обнаружения мобильного устройства в приложении Grails?

Я заметил, что при развертывании моего приложения на tomcat и его доступе на мобильном устройстве по умолчанию изображения Grails представляют собой мобильные представления. Было бы полезно иметь возможность обнаруживать мобильное устройство в контроллере и направлять пользователя к другому виду.

ответ

0
request.getHeader('User-Agent') 

... даст вам такие вещи, как "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; с.в.: 9.0.1) Gecko/20100101 Firefox/9.0.1", из которого вы можете догадаться, как браузер используется и система

в противном случае (я не проверял это), есть плагин для браузера обнаружения здесь: http://www.grails.org/plugin/browser-detection

0

Использование Grails весны мобильного плагина. проверьте эту ссылку http://jagadeeshmanne.blogspot.in/2014/02/grails-mobile-device-detection-using.html, чтобы узнать, как обнаружить устройство и отобразить определенные объекты устройства с использованием грааля. используйте afterInterceptor и beforeInterceptor, чтобы изменить представления и обнаружение устройства.

0

Я использовал этот плагин для обнаружения браузера. И он работал очень хорошо, не загромождая мой код.

https://plugins.grails.org/plugin/mathifonseca/browser-detection

dependencies { 
    compile 'org.grails.plugins:browser-detection:3.3.0' 
} 

Он также имеет возможность обнаружить, если это мобильная платформа, на GSP файла.

<browser:isMobile> Mobile phones or Android, iPhone, iPad, iPod, Blackberry, etc. </browser:isMobile> 

или в контроллере

class TestController { 

    def userAgentIdentService 

    def index() { 
     if (userAgentIdentService.isMobile()) { 
      println 'Hello mobile device!' 
      if (userAgentIdentService.isWindowsPhone()) { 
       println 'Wow! Does this still exist?' 
      } 
     } else { 
      println 'Hello desktop browser!' 
      if (userAgentIdentService.isInternetExplorer()) { 
       println 'Redirecting to Chrome download page...' 
      } 
     } 
    } 
} 

PD: Я знаю, что это было некоторое время, так как этот вопрос был отправлен, но это может помочь кому-то еще.

Смежные вопросы