<์๊ตฌ ์ฌํญ>
์์ js ๋ก ์์ ํ A ์๋์ฐ์์ ์ด๋ค ๋ฉ๋ด๋ฅผ ํด๋ฆญํ๋ฉด a ๋ค์ด์ผ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๋๋ฐ,
a ๋ค์ด์ผ๋ก๊ทธ ์์ ์๋ ํ์ธ ๋ฒํผ(okBtn)์ ํด๋ฆญํ๋ฉด B ์๋์ฐ๊ฐ ํ์ ์ผ๋ก ์ด๋ฆฐ๋ค.
(์ด๋ B์๋์ฐ๋ ๋ฆฌ์กํธ๋ก ์์ ํ ๋ถ๋ถ)
A ์๋์ฐ์ a ๋ค์ด์ผ๋ก๊ทธ์๋ ์ทจ์ ๋ฒํผ(closeBtn) ๋ ์๋๋ฐ, ์ทจ์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด B ์๋์ฐ๊ฐ ๋ซํ์ผ ํ๋ค.
๊ทธ๋ฐ๋ฐ B๊ฐ ์๋์ฐ ํ์ ์ด๋ผ ๋ค๋ฅธ ํญ์ ๊ทธ๋๋ก ๋จ์์์ด์ ํด๋น ๋ถ๋ถ์ ์ทจ์ ๋ฒํผ ํด๋ฆญ ์ ์๋์ผ๋ก ๋ซํ๊ฒ ์์ ํด์ผ ํ๋ค.
์ฒ์์ ๊ฒ์ํ๋ฉด์ ํฌ๋กฌ ๋ด์์๋ ๋๋ฉ์ธ์ด ๋ค๋ฅธ ์๋์ฐ๋ฅผ ๋ซ์ ์ ์๋ค๋ ๊ธ์ ๋ดค์๋๋ฐ, ๊ทธ ๋๋ฌธ์ ํผ๋์ด ์์ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด ๊ณผ์ฐ ์๋๊ฑด์ง ๋ช ์๊ฐ์ ๊ณ ๋ฏผํ๋ค ใ ใ ์์ js ๊ธฐ๋ฐ ์๋์ฐ ๋ด์์ ๋ฆฌ์กํธ ์๋์ฐ๋ฅผ ์ปจํธ๋กค ํ ์ ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ๊ณ .. ๋ฉ๋ถ์ด์๋ค. ๋คํํ ํ์ ํ ๋ค๋ฅธ ํ ๋ด๋น์๋ถ๊ป ๋ฌธ์ํด๋ณด๋ postMessage ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค๊ณ ์๋ ค์ฃผ์ ์ ๊ทธ๊ฑธ ์ด์ฉํด์ ์์ js ์๋์ฐ์ ๋ฆฌ์กํธ ์๋์ฐ๋ฅผ ์ฐ๊ฒฐํ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์๋ค. ์์ js ์ ๋ฆฌ์กํธ ์๋์ฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฑด ์ฑ๊ณตํ๋๋ฐ, ์ด์ ๋ ์๋ก ๋ค๋ฅธ ์๋์ฐ๋ฅผ ์ปจํธ๋กค ํ๋ ๋ถ๋ถ์ด ๋ฌธ์ ์๋ค. ์๋ฌด๋ฆฌ ์๊ฐํด๋ ๋ต์ด ์๋์์ ๊ณผ์ฅ๋๊ป ์ฌ์ญค๋ณด๋, ์คํํ ์๋์ฐ ๊ฐ์ฒด ์์ฒด๋ฅผ ๋๊ฒจ๋ฐ์์ ๋ซ์์ฃผ๋ฉด ๊ฐ๋ฅํ์ง ์์๊น ๋ผ๋ ์ด์ผ๊ธฐ๊ฐ ๋์์ ๊ทธ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์๋ค.
์์ js ๋ก ์์ ๋ A ์๋์ฐ์์ closeBtn ์ ํด๋ฆญํ๋ฉด ์คํ๋๋ ๋ค์ด์ผ๋ก๊ทธ ๋ซ๋ ํจ์ ๋ด์ ์๋ ์ฝ๋๋ฅผ ๋ฃ์๋ค.
B ํ์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ์์ ํ ๋ฆฌ์กํธ ๋ชจ๋์ message๋ฅผ ๋ณด๋ด๊ณ , ํด๋น ๋ชจ๋์์ ๊ทธ message ๋ฅผ ์ธ์ํ๋ฉด B ํ์ ์ด ๋ซํ๋๋ก ์ค์ ํ๋ค.
A ์๋์ฐ์์ ๋ณด๋ธ message ๋ฅผ ๋ฐ์์ message data ๊ฐ close ์ธ์ง ํ์ธ ํ B ์๋์ฐ ๊ฐ์ฒด๋ฅผ close ํ๋ค.
์๋ ์ฝ๋์์ windowObject ๋ B ์๋์ฐ ๊ฐ์ฒด๋ค.
์์ ๊ฐ์ด window open ํ๋ ํจ์ ๋ด์์ ์๋์ฐ ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ฃผ๊ณ , ๊ทธ ๊ฐ์ ๊ทธ๋๋ก ๊ฐ์ ธ์์ close ํ๋ ๊น๋ํ๊ฒ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค!!
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
js ์์ ํ๊ธ ๊ธ์ ์ ์ธ๊ธฐ (0) | 2022.10.13 |
---|---|
window ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ? (0) | 2022.05.23 |
์กฐ๊ฑด๋ฌธ ์ค์ด๊ธฐ(feat. ํด๋ฆฐ ์ฝ๋) (0) | 2022.05.20 |
Babel ์ด๋? (0) | 2022.05.11 |
addEventListener ์ด๋ฒคํธ (input & change) (0) | 2022.04.25 |
๋๊ธ