[英]How can one write correct HTML to an inline Javascript inside a JSP?
由於某些原因,我必須在頁面中加載兩個單獨的頁面標題HTML。 其中一個是用於移動視圖的標題,另一個是用於桌面視圖的標題。 我頁面的其余部分都是響應式的。 我的計划是在頁面加載時加載的JS內加載兩個標頭的HTML,並根據頁面寬度在頁面內填充正確的標頭HTML,並希望加載相應的JS和CSS。 我這樣做是因為兩個標頭HTML的JS和CSS容易發生沖突(並且我無法修改這些HTML),所以我只希望它們在頁面加載時加載。
問題是在此內聯JS中用JSP編寫HTML。 我反復收到諸如“ Uncaught SyntaxError:Unexpected token ILLEGAL”的錯誤。
我在JSP中的代碼如下所示:
<c:when test="${not empty hdrLoggedInHtml and not empty hdrLoggedInHtml_M}">
<script type="text/javascript">
$(document).ready(function(){
if($(window).width()>420)
{
$("#desktopHeader").html('<c:out value="${hdrLoggedInHtml}" escapeXml="false"/>');
$("#mobileHeader").html("");
}else
{
$("#mobileHeader").html('<c:out value="${hdrLoggedInHtml_M}" escapeXml="false"/>');
$("#desktopHeader").html("");
}
});
});
</script>
</c:when>
我嘗試使用fn:escapeXml,但這也不起作用。 在我看來,字符串內<html>
之后的新行無法正確輸出,或者某種不可見的字符以某種方式出現。 請幫忙。
將hdrLoggedInHtml放到html節點上,該節點之前沒有顯示:
<script>
var global = {} ; global.url = '${url}';global.data = $.parseJSON('${data}');
</script>
然后,將腳本放在JSP頁面的底部,這是一個示例:
<script type="text/javascript">
$(document).ready(function(){
if($(window).width()>420)
{
$("#desktopHeader").load(global.url,global.data);
$("#mobileHeader").html("");
}else
{
$("#mobileHeader").html($('#'));
$("#desktopHeader").html("");
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.