728x90
반응형
sessionStorage.setItem("document.referrer", '');
- sessionStorage에 "document.referrer" 라는 키에 빈 문자열 '' 값을 저장합니다.
- 하지만 document.referrer는 브라우저가 제공하는 읽기 전용 속성이라서 이런 식으로 sessionStorage에 저장한다고 해도 실제 document.referrer 값을 바꾸는 효과는 없습니다.
→ 즉, 효과 없는 코드일 가능성이 높습니다.
document.referrer 와 sessionStorage.setItem("document.referrer", '') 의 차이와
"읽기 전용(read-only)" 속성에 대해 자세히 설명드리겠습니다.
✅ 1. document.referrer란?
document.referrer는 브라우저가 제공하는 DOM(Document Object Model) API 중 하나로,
현재 페이지가 어디서부터 왔는지 (즉, 이전 페이지의 URL이 무엇인지) 를 알려주는 읽기 전용 속성입니다.
예시:
console.log(document.referrer);
- 만약 A 페이지에서 B 페이지로 이동했다면, B 페이지에서 위 코드를 실행하면 "http://example.com/a.html" 처럼 A 페이지 URL이 출력됩니다.
- 브라우저가 자동으로 설정하는 값이지, 개발자가 직접 수정할 수 있는 값이 아닙니다.
✅ 2. 읽기 전용(Read-only)이란?
읽기 전용 속성이란, 값을 읽을 수는 있지만 직접 값을 바꾸거나 설정할 수 없는 속성을 말합니다.
document.referrer = "http://fake.com"; // ❌ 작동하지 않음
- 위 코드는 아무런 효과가 없습니다. document.referrer는 브라우저가 내부적으로 정해주는 값이기 때문에, 개발자가 바꿀 수 없습니다.
- 마치 const로 선언한 변수처럼 값을 바꾸는 것이 허용되지 않는 속성입니다.
✅ 3. sessionStorage.setItem("document.referrer", '')의 의미
이건 실제 document.referrer를 바꾸는 것이 아닙니다.
sessionStorage.setItem("document.referrer", '');
이 코드는:
- "document.referrer"라는 이름을 가진 사용자 정의 키를 sessionStorage에 저장하는 것입니다.
- 이 값은 오직 sessionStorage.getItem("document.referrer")로만 접근할 수 있고,
- 진짜 브라우저의 document.referrer와는 아무 관련이 없습니다.
즉, 브라우저의 진짜 document.referrer 속성은 변경되지 않습니다.
✅ 요약
| 항목 | 설명 |
| document.referrer | 브라우저가 자동으로 설정한 이전 페이지의 URL을 담은 읽기 전용 속성. 개발자가 바꿀 수 없음. |
| sessionStorage.setItem("document.referrer", '') | 단순히 "document.referrer"라는 이름의 사용자 정의 키-값 쌍을 저장한 것일 뿐, 실제 document.referrer 속성과는 무관함. |
| 결론 | 위 코드는 document.referrer를 바꾸지 못하며, 저장한 값은 sessionStorage.getItem()으로만 사용 가능함. |
728x90
반응형
'Front > JS & jQuery' 카테고리의 다른 글
| [js][datatables] datatables 높이 조절 (0) | 2025.05.30 |
|---|---|
| [js][ECharts] 데이터 명이 같아도 다른 데이터이면 다른색으로 표시 (파이차트) (0) | 2025.05.28 |
| [js] 문자열 추출 split/ slice (0) | 2025.05.14 |
| [js] dropzone chunking, forceChunking (0) | 2025.05.13 |
| [jQuery] 모달 중복 열림 방지 (0) | 2025.05.12 |