아래와 같이 주소창 url에 표시되는 파라미터를 숨기고 싶은 경우가 있다.
? 뒤에 파라미터가 있는 경우
https://velog.io/write?id=example-1293120410129412-234
# 뒤에 파라미터가 있는 경우
https://velog.io/@yewo2nn16/Transactional#transactional-옵션
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