Как проще всего обнаружить мобильное устройство в приложении Grails? - PullRequest
3 голосов
/ 02 января 2012

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

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

Ответы [ 5 ]

2 голосов
/ 02 января 2012

Я использую этот плагин ...

http://grails.org/plugin/spring-mobile

... и вот одно из немногих обсуждений в списке рассылки Grails ...

http://grails.1312388.n4.nabble.com/iPhone-enabling-a-Grails-Web-app-td3206882.html

1 голос
/ 23 февраля 2017

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

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

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

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

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

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: Я знаю, что прошло много времени с тех пор, как этот вопрос был опубликован, но он может помочь кому-то еще.

0 голосов
/ 20 февраля 2014

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

0 голосов
/ 02 января 2012
request.getHeader('User-Agent') 

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

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

0 голосов
/ 02 января 2012

Вы можете использовать механизм filters , чтобы определить, является ли он мобильным браузером или нет. Вы можете увидеть список доступных переменных в области действия фильтров .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...