簡體   English   中英

有什么方法可以將JavaScript變量值轉換為JSTL可以使用的值?

[英]Is there any way to get a JavaScript variable value into something JSTL can use?

我很痛苦地意識到,包含JSTL的JSP在服務器端運行,而JavaScript在客戶端運行。

我正在嘗試檢測用戶是否正在訪問來自中國的網站。 我們已經在使用Cookie進行基於IP的地理定位,並且可以使用以下JS訪問該值:

<script>
        XY.isChina = document.cookie.indexOf('GeoIPCookie=GEOIP_COUNTRY_CODE=CN') > -1;
</script>

(XY是一個已經存在的現有JS結構。對全局性有用。)

之后,我現在有了一個true或false變量。 自從我將其寫在標頭中以來,我已經確認可以在其他JSP文件中訪問此JS變量,該標頭顯然包含在每個頁面中。

我現在真正想做的就是遵循以下思路:

<c:if test="${not hideFacebookIcon && XY.isChina === false}" >

那是行不通的,因為那是一個JavaScript變量。

有人對我如何能夠破解某些東西以保留真假變量有任何想法,以便我可以像上面一樣使用它嗎? 我對使用的方法並不挑剔,但是我不能使用jQuery之類的額外庫或AJAX之類的東西。

在JSTL中執行此操作的方法如下:

<c:if test="${fn:indexOf(cookie.GeoIPCookie.value,'CN') > -1}">
    //do stuff
</c:if>

但是,當網站位於Akamai后面時,這是行不通的,因此解決方案必須是純JavaScript

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM