728x90
    
    
  
BroadcastChannel 란?
같은 브라우저의 다른 windows, tabs, frames or iframes(in different windows, tabs, frames or iframes) 간의 통신을 할 때 사용하는 클래스입니다.
BroadcastChannel를 사용해서 탭 간 메세지를 주고받는 예제입니다!
postMessage() 를 사용해서 다른 탭의 BroadcastChannel 에 메세지를 전송하고,
onmessage event를 통해 다른 탭이 전송한 메세지를 받을 수 있습니다.
실행결과입니다.
전체 코드입니다.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
    // Example 라는 이름의 BroadcastChannel 을 생성.
        const Channel = new BroadcastChannel('Example');
        function SendMessage(){
			// 입력한 문자를 가져와서 
            let element = document.querySelector("input");
            let data = element.value;
            // 본인을 제외한 다른 채널에 메세지를 전달합니다.
            Channel.postMessage({type: data });
        
        }
		// 다른 채널에서 보낸 메세지를 받는 이벤트
        Channel.onmessage = e => {
        //	다른 채널에서 보낸 메세지를 화면에 출력합니다.
            alert(e.data.type)
        }
    </script>
</head>
<body>
    
    <input type="text">
    <button onclick="SendMessage()">Message Send</button>
</body>
</html>
아래의 페이지를 참고해보시면 좋을 것 같습니다.
https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
'JavaScript' 카테고리의 다른 글
| [Javascript] target 속성과 closest() 함수를 조합하여 ui 선택하기 (0) | 2023.06.14 | 
|---|---|
| [javascript] keyup 사용하여 테이블 검색 기능 만들기 (0) | 2023.06.09 | 
| [Javascript] 내 음성을 raw pcm data format 음원에 저장하기. (0) | 2023.05.26 | 
| [Javascript] 자바스크립트를 활용해서 get/post로 데이터 전달하기 (0) | 2023.05.25 | 
| [JavaScript] 정규식을 활용하여 이메일 로그인 시 예외처리하기 (0) | 2023.05.08 |