2017-01-30 2 views
0

Мне нужно проверить размер экрана, чтобы изменить компонент. Не зная, что лучший способ, я стараюсь использовать JavaScript вGrails GSP Ширина экрана

<g:if test="${javascript($(window).width() > 768)}"> 
 
    //COMPONENT 
 
</g:if> 
 
<g:else> 
 
    //OTHER COMPONENT 
 
</g:else>

Любой может помочь мне говорят, что лучший способ решить эту проблему?

Благодаря

ответ

0

не зная, что COMPONENT в вашем примере это трудно предложить твердый раствор.

Однако основная проблема, с которой вы сталкиваетесь, заключается в том, что вы пытаетесь смешать оценку на стороне сервера и на стороне клиента, которую вы не можете сделать. GSP оценивается на уровне сервера и не имеет доступа к DOM браузера, чтобы получить такие вещи, как window.width.

Одним из возможных решений является отправка window.width с запросом на GSP в качестве переменной запроса, чтобы вы могли оценить это с помощью GSP.

0

@ Joshua прав, вы смешиваете и сопоставляете код на стороне клиента и сервера. Вы можете использовать плагин https://github.com/mathifonseca/grails-browser-detection, который является красивой оболочкой вокруг httprequest, чтобы вы могли проверить, взаимодействуете ли вы с настольным или мобильным браузером. Но обычно это делается с использованием таблицы стилей (@see: http://www.w3schools.com/html/html_responsive.asp)

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