Window: name 속성
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Window.name
속성은
창의 탐색 컨텍스트 이름을 얻거나 설정합니다.
값
문자열.
설명
창의 이름은 주로 하이퍼링크나 폼의 대상(target)으로 설정하는 데 사용됩니다. 탐색 컨텍스트는 이름을 가질 필요가 없습니다.
최신 브라우저는 탭이 만약 다른 도메인으로부터 페이지를 로드하는 경우 Window.name
을 빈 문자열로 재설정하고,
원래 페이지가 다시 로드될 경우(예: "뒤로 가기" 버튼 선택으로 다시 로드)에는 이름을 복원합니다.
이로써 이전 페이지가 속성에 저장했을지도 모르는 정보에 신뢰할 수 없는 페이지가 접근하는 것을 방지합니다.
(잠재적으로 새로운 페이지는 그 데이터를 수정했을 수도 있으며, 수정했다면 원래 페이지가 다시 로드되었을 때 데이터가 읽힐 수도 있습니다)
또한 Window.name
은 몇몇 프레임워크에서 크로스 도메인 통신으로 JSONP보다 더 안전한 대안으로 제공하기 위해 사용됩니다.
하지만, 민감한 데이터를 다루는 최신 웹 애플리케이션은 크로스 도메인 통신의 방법으로 window.name
에 의존하면 안됩니다.
이것은 window.name
의 의도된 목적이 아니며, 창(window) 간의 정보 공유를 위한 더욱 안전하고 좋은 방법이 있기 때문입니다.
Window.postMessage()
가 바로 그 권장되는 방법입니다.
참고:
window.name
은toString
메서드를 이용해서 저장되어 있는 모든 값을 문자열 표현으로 변환합니다.
예제
<script>
// 특정 탐색 컨텍스트의 이름으로 탭을 엽니다.
const otherTab = window.open("url1", "_blank");
if (otherTab) otherTab.name = "other-tab";
</script>
<a href="url2" target="other-tab">이 링크는 다른 탭에서 열릴 것입니다.</a>
명세서
Specification |
---|
HTML Standard # dom-name-dev |
브라우저 호환성
BCD tables only load in the browser