>  Q&A  >  본문

나중에 다른 페이지에서 <a target='name'>을 사용하도록 JavaScript에서 window.name을 설정하시겠습니까?

foo.example.com과 같은 창에서:

그런 다음 나중에 다른 창(예: bar.example.com)에서:

GOFOO

이게 효과가 있을까요? 원래 이름이 target=''로 지정되지 않은 창으로 돌아갈 수 있는 방법이 있나요?

P粉821808309P粉821808309398일 전580

모든 응답(1)나는 대답할 것이다

  • P粉434996845

    P粉4349968452023-09-17 22:32:37

    창의 이름 속성은 실제로 JavaScript에서 설정할 수 있습니다. 그러나 상상한 대로 정확하게 작동하지는 않습니다.

    HTML에서 요소의 대상 속성은 링크된 문서를 열 위치를 지정하는 데 사용됩니다. 이 속성의 값은 다음과 같습니다.

    _blank: 링크된 문서를 새 창이나 탭에서 엽니다. _self: 클릭했을 때와 동일한 프레임에서 연결된 문서를 엽니다(기본값). _parent: 상위 프레임에서 연결된 문서를 엽니다. _top: 링크된 문서를 창 전체에서 엽니다. 프레임 이름: 명명된 프레임에 연결된 문서를 엽니다. 따라서 target 속성의 값은 window.name이 아닌 프레임 이름으로 해석됩니다. 그들은 직접적인 관련이 없습니다.

    그러나 window.name은 창 간 통신에서 특정 역할을 합니다. 한 페이지에서 다른 페이지로 이동할 때 창이나 탭이 닫히거나 창이나 탭이 window.name 페이지가 지워지는 다른 도메인으로 이동할 때까지 window.name은 동일하게 유지됩니다(도메인을 탐색하는 경우에도). 그러나 귀하의 예에서 사용하려는 방식으로는 작동하지 않습니다.

    window.name 속성은 태그를 통해 페이지 간 창을 참조하는 방법이 아니라 주로 스크립트 프로그래밍에 사용된다는 점에 유의해야 합니다.

    다른 창/탭에서 기존 창/탭을 참조하려는 목적은 동일 출처 정책의 제한과 보안상의 이유로 창 간 통신에 대한 제한으로 인해 직접적으로 가능하지 않은 경우가 많습니다.

    그러나 필요에 따라 localStorage, sessionStorage 또는 postMessage를 사용하는 등의 다른 방법을 사용하여 창 간 또는 탭 간 통신을 구현할 수 있습니다.

    회신하다
    0
  • 취소회신하다