2021. 8. 30. 22:01
반응형
window.open 기능을 이용하여 자식창을 연 다음 자식창에서 부모창의 변수를 이용할 수 있다.
자식창을 연 다음 자식창으로 이동하고 개발자도구를 열고 opener를 입력해보면 확인할 수 있다.
부모창에서 선언한 함수도 이용할 수 있다.
함수에 포함된 alert나 console.log 등의 동작은 자식창이 아닌 부모창에서 실행되는 것을 볼 수 있다.
// 부모창 콘솔에 입력
var a = "123"
var b = function(msg) {alert('message test ' + msg);};
var c = function(num) {
console.log('입력값: ', num);
return num * num;
};
var childWindow = window.open();
console.log(childWindow.opener.a); // "123"
// 자식창 콘솔에 입력
console.log(opener.a) // "123"
opener.b('hi'); // 부모창에 alert가 뜬다.
var s = opener.c(3); // 부모창 콘솔에 '입력값: 3'이 찍힌다.
console.log(s); // 9
반응형
'dev' 카테고리의 다른 글
[Java] 간단한 Spring Boot 프로젝트 생성, 실행 (0) | 2022.09.03 |
---|---|
[JavaScript] HTML canvas 마우스로 그리기 (0) | 2022.06.17 |
[Java] 이름 마스킹 (0) | 2022.04.22 |
[JavaScript] input 숫자만 입력하도록 하기 (0) | 2022.04.15 |
[JavaScript] 카카오톡 대화내용 백업파일 뷰어 (0) | 2021.05.30 |
[JavaScript] Email validation (0) | 2020.12.19 |
[JavaScript] 배열 섞기 (0) | 2020.08.08 |
[JavaScript] 배열 내의 요소들의 합계 구하기 (0) | 2020.07.29 |