Ширина экрана Grails GSP

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

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

Кто-нибудь может помочь мне сказать, лучший способ решить эту проблему?

Спасибо

2 ответа

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

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

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

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

Другие вопросы по тегам