[JS] replaceState

예원·2022년 10월 12일
0

아래와 같이 주소창 url에 표시되는 파라미터를 숨기고 싶은 경우가 있다.

? 뒤에 파라미터가 있는 경우

https://velog.io/write?id=example-1293120410129412-234
# 뒤에 파라미터가 있는 경우

https://velog.io/@yewo2nn16/Transactional#transactional-옵션

이땐, Javascirpt 를 이용해 간단하게 파라미터를 제거할 수 있다.
history.replaceState({}, null, location.pathname);

위의 스크립트를 실행하면 다음과 같이 바뀌는 것을 확인할 수 있다.

https://velog.io/write
https://velog.io/@yewo2nn16/Transactional

이상한 문자가 들어있는 경우

위의 경우 외에 간혹 ; 와 같이 이상한 문자가 들어있는 경우도 있었다.

이상한 문자가 들어있는 url

https://velog.io/@yewo2nn16;abcdefg

이 경우에는 location.pathname 을 이용해 URL 값을 제대로 가져오지 못한다.

따라서 직접 주소를 넣어주면 된다.

history.replaceState({}, null, 'https://velog.io/@yewo2nn16');

이상한 문자가 숨겨지는 것을 확인할 수 있다.

https://velog.io/@yewo2nn16

0개의 댓글