Language/Java Script

spring message properties 2탄

원2 2022. 1. 11. 16:24
728x90
반응형

요로코롬 메뉴바가 있다.

허졉하지만 메뉴바임ㅇㅇ/..

 

앞에 했던 spring message로 변경을 한다고 치면

아마 url에 param이 붙어서 엉망이될 것이다.. 아마도

 

예를들어 현재 영어인상태에서 영어를 한번 더 누른다면 praram에 lang=en이 하나 더 붙어버리는 끔찍한 상황이 발생한다..

그걸 고쳐보자 ㅇㅇ

 


여기서는 js로 처리를 할것이다.

 

이렇게 두개의 허졉한 링크가 있다.

 


해당 링크를 클릭하면, 해당 id 값을 가져오고 현재의 url을 가져와서

해당 param이 있는지 없는지 검사를 한 후

없다면?

> append로 해당 param을 추가시키도록 설정했다.

있다면?

> set으로 해당 param vlaue를 수정하도록 설정했다.

 

그후 해당 창을 열기

 

    $(".nav-link").click(function (){

        let lang =$(this).attr("id");
        
        // https: or http:
        let http = window.location.protocol;
        
        let pathname = window.location.pathname;
        
        // ?뒤의 모든것 (All parameters)
        let search = window.location.search;
        let params = new URLSearchParams(search);
        if (!params.has('lang')) {
            params.append('lang', lang);
            window.location.href = '' + http + pathname + '?' + params + '';

        } else {
            params.set('lang', lang);
            window.location.href = '' + http + pathname + '?' + params + '';

        }

결과

 

한국어를 두번을 누르든 세번을 누르든 네번을 누르든 잘 작동되고

lang=en 이라는 parma이 붙어있는 상태라도 해당 prama 을 지우고 ko든 en이든 수정을 시켜준다 ㅇㅇ 굿ㅋ

 

좀 허졉해보여도 잘 된다ㅇㅇ..

728x90
반응형

'Language > Java Script' 카테고리의 다른 글

국가 코드  (0) 2022.02.23
.empty()  (0) 2022.02.08
window.location  (0) 2022.01.11
var, let, const 차이점  (0) 2022.01.03
현재 메뉴를 하이라이트 처리하기  (0) 2022.01.03
함수 호출 방식  (0) 2022.01.03