본문 바로가기
JAVA

[JSTL] UserAgent 확인하여 JavaScript 분기 처리 진행

by Hwoarang757 2022. 7. 5.

출처 : IE로 접속 시 알림창(alert) 띄우기 (tistory.com)

 

IE로 접속 시 알림창(alert) 띄우기

IE에 대해 좋은 감정을 가진 개발자가 몇이나 될까? 나도 조금이나마 직접 경험을 해보니 왜 IE 사라져라 IE를 골칫덩이로 생각하는지 알게되었다. 다행히 나는 IE가 사라지고 있는 시대에 살고 있

onlydev.tistory.com

출처 : [JSTL] fn:contains 포함되는 문자열 찾기 (tistory.com)

 

[JSTL] fn:contains 포함되는 문자열 찾기

fn:contains를 사용하여 포함되는 단어를 찾을 수 있다 boolean contains(java.lang.String, java.lang.String) fn:contains - 포함되는 문자열이 있으면 true를 반환한다 taglib 선언 <%@ prefix="c" taglib uri=..

roundfigure.tistory.com

 

IE 11 브라우져에서는 javascript 의 async , await 키워드가 인식되지 않아 ,request의 UserAgent를 확인하여 IE 11일 경우와 IE-Edge 일 경우 분기 처리 하도록 테스트 해보았습니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


<c:set var="userAgentInfo" value="${header['User-Agent']}" />

<script type="text/javascript">

// 2022.07.02 UserAgent 구분 진행
<c:choose>
<c:when test="${fn:contains(userAgentInfo,'Trident') || fn:contains(userAgentInfo,'MSIE') }"> 
    // IE 11일 경우
    function doProcess() {
        //...
    }    
</c:when>
<c:otherwise>
    // 그 이외 일 경우
    async function doProcess() {
        //...
    }

</c:otherwise>
</c:choose>

</script>