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.nametoString 메서드를 이용해서 저장되어 있는 모든 값을 문자열 표현으로 변환합니다.

예제

html
<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