我需要檢查屏幕大小以更改組件。 不知道的最好方式,我嘗試使用JavaScript在Grails GSP屏幕寬度
<g:if test="${javascript($(window).width() > 768)}">
//COMPONENT
</g:if>
<g:else>
//OTHER COMPONENT
</g:else>
任何人都可以幫我說要解決它的最好方法?
感謝
我需要檢查屏幕大小以更改組件。 不知道的最好方式,我嘗試使用JavaScript在Grails GSP屏幕寬度
<g:if test="${javascript($(window).width() > 768)}">
//COMPONENT
</g:if>
<g:else>
//OTHER COMPONENT
</g:else>
任何人都可以幫我說要解決它的最好方法?
感謝
不知道COMPONENT
是你的榜樣,很難提供一個固溶體。
但是,您面臨的主要問題是您正在嘗試混合服務器端和客戶端評估,這是您無法做到的。 GSP在服務器級進行評估,無法訪問瀏覽器的DOM以獲取諸如window.width
之類的內容。
一個可能的解決方案是與請求提交window.width
普惠製作爲請求變量,以便您可以評估,使用GSP。
@Joshua是對的,你是混合和匹配客戶端和服務器端代碼。你可以使用一個插件https://github.com/mathifonseca/grails-browser-detection這是一個很好的包裝器,所以你可以檢查你是否與桌面或移動瀏覽器進行通信。 但通常這會使用樣式表完成(@see:http://www.w3schools.com/html/html_responsive.asp)