๋ฐ์ํ
์ํฉ๋ณ ์ ๋ฆฌ
| ์ํฉ | ์์์ฐฝ์์ ๋ถ๋ชจ์ฐฝ ์ ์ด๋ฐฉ๋ฒ |
| iframe ์์์ | window.parent.location.href = '/member/login'; |
| ์ ์ฐฝ (window.open) | window.opener.location.href = '/member/login'; |
์ฌ์ฉ ์์ : ์ ์ฐฝ์์ ๋ถ๋ชจ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ณด๋ด๊ธฐ
if (window.opener) {
// ์ ์ฐฝ์ ๋์ด ๋ถ๋ชจ์ฐฝ์ด ์กด์ฌํ ๋
window.opener.location.href = '/member/login';
window.close(); // ํ์ํ๋ฉด ์์์ฐฝ๋ ๋ซ๊ธฐ
} else {
// ๋ถ๋ชจ์ฐฝ์ด ์์ผ๋ฉด ์๊ธฐ ์์ ์ด๋
window.location.href = '/member/login';
}
์๋ฒ๋จ ์ธํฐ์ ํฐ์์ ์๋ต ๋ด๋ณด๋ผ๋ ์ด๋ ๊ฒ
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<script>");
out.println("alert('๋ก๊ทธ์ธ ์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธ ํด์ฃผ์ธ์.');");
out.println("if (window.opener) {");
out.println(" window.opener.location.href='/member/login';");
out.println(" window.close();");
out.println("} else {");
out.println(" window.location.href='/member/login';");
out.println("}");
out.println("</script>");
out.flush();
- window.opener๋ ์ ์ฐฝ(window.open)์ ๋์ด ๋ถ๋ชจ ์ฐฝ ๊ฐ์ฒด
- ๋ณด์์ window.opener ์ ๊ทผ์ด ์ ๋๋ ๊ฒฝ์ฐ๋ ์์ด์ ๊ฐ์ ๋๋ฉ์ธ ๋ด์์๋ง ๊ฐ๋ฅํ๋ค.
- iframe์ด๋์ ์ ํ ๋ณ๊ฐ์ ๊ฐ์ฒด๋๊น ํผ๋ ์ฃผ์!
๋ฐ์ํ
'๐ฅ๏ธ ํ๋ก ํธ์๋ > ๐กJS, React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| # gsap - SVG๋ก ๋ฐฐ๊ฒฝ ์ ๋๋ฉ์ด์ ๋ฃ๊ธฐ (0) | 2025.07.04 |
|---|---|
| # jQuery - ๋์ ์ผ๋ก ์์ฑ๋ ์์์ click ์ด๋ฒคํธ๊ฐ ์ ๋จนํ ๋ ํด๊ฒฐ๋ฒ (0) | 2025.06.09 |
| # Next.js ๊ธฐ๋ณธ ์์ฑ ๋ช ๋ น์ด (0) | 2025.05.19 |
| # iframe ๋ถ๋ชจ์ focus ์ฎ๊ธฐ๊ธฐ (๋ชจ๋ฌ์ฐฝ ESC ์๋ซํ) (0) | 2025.04.01 |
| # fetch ๋น๋๊ธฐ ํต์ (0) | 2025.03.21 |
