BOM์ ์์์ผ ํ๋ ์ด์
์ ์ ์๊ฒ ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ
์ ์ ์ yes or no์ ๊ฐ์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฅธ ์๋ต์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๊ฒฝ์ฐ
์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ๊ธฐ ์ ์ ์ ๋ง ๋ ๋ ๊ฒ์ธ์ง ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ
์ ์ ๊ฐ ์ ์ํ ํ๊ฒฝ์ ์๊ณ ์ถ์ ๊ฒฝ์ฐ
ํ์ฌ url ์์น ๋ฐ, ์ ์ history๋ฅผ ์๊ณ ์ถ์ ๊ฒฝ์ฐ
์ฌ๋ฌ ui๋ฅผ ์ง์ ๋ง๋ค๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ง์ ์ ์ดํ ์๋ ์์ง๋ง, ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ API๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํจ์ฌ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ํ๋กํ ํ์ดํ์ ํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์๋ฅผ ๋ณด๊ณ ๋๋ฉด
๏ธalert์ ์ด์ฉํ๋ฉฐ ์ฌ์ฉ์์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ์ ์๋ค.
confirm์ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฒฐ์ ํ ์ ์๊ฒ ์ค์ ํ ์ ์๋ค.
prompt๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ์ ๋ฐ์์ฌ ์ ์๋ค.
์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ๋ ๋๊ธฐ ์ ์ ํ์ธํ๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ์ ์๋ค.
BOM: Browser Object Model
BOM(Browser Object Model)์ ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์
๋๋ค. ๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ์์ ๊ตฌํ์ ๋์ด์์ง๋ง, ์ ์๋ ํ์ค์ด ์์ด ๋ธ๋ผ์ฐ์ ์ ์์ฌ ๋ง๋ค ์ธ๋ถ์ฌํญ์ด ๋ค๋ฅด๊ณ ๋ค์ ํ์ ์ ์ด๋ผ๋ ํน์ง์ด ์์ต๋๋ค. BOM์ ์ญํ ์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฒํผ, URL ์ฃผ์ ์
๋ ฅ ์ฐฝ, ํ์ดํ ๋ฐ ๋ฑ ์น๋ธ๋ผ์ฐ์ ์๋์ฐ ๋ฐ ์นํ์ด์ง์ ์ผ๋ถ๋ถ์ ์ ์ดํ ์ ์๊ฒ๋ ํ๋ ๊ฒ์
๋๋ค. window ๊ฐ์ฒด๋ฅผ ํตํด ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์๋๋ ๋ํ์ ์ธ BOM ๊ฐ์ฒด๋ค์
๋๋ค.
โข
1) window: Global Context. ๋ธ๋ผ์ฐ์ ์ฐฝ ๊ฐ์ฒด
โข
2) screen: ์ฌ์ฉ์ ํ๊ฒฝ์ ๋์คํ๋ ์ด ์ ๋ณด ๊ฐ์ฒด
โข
3) location: ํ์ฌ ํ์ด์ง์ url์ ๋ค๋ฃจ๋ ๊ฐ์ฒด
โข
4) navigator: ์น๋ธ๋ผ์ฐ์ ๋ฐ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ ์ ๋ณด ๊ฐ์ฒด
โข
5) history: ํ์ฌ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ทผํ๋ URL history
beforeunload์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ด์ง๋ฅผ ๋ฒ์ด๋ ๋ ํ์ธ ๋ฉ์ธ์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๋จ, ํฌ๋กฌ์์๋ ๊ฒฝ๊ณ ์ฐฝ์ ๋ฌธ๊ตฌ๊ฐ ๋ํ๋์ง ์์ต๋๋ค.
window.onbeforeunload = function() {
return '์์ฑ ์ค์ธ ๋ฉ์์ง๊ฐ ์์ต๋๋ค.'
}
JavaScript
๋ณต์ฌ
์ ๋ฆฌ
โข
BOM์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ฅ๋ค์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์ด๋ค.
โข
์ ์๋ ํ์ค์ด ์์ด ๋ธ๋ผ์ฐ์ ์ ์์ฌ๋ง๋ค ๊ตฌํ์ด ๋ค๋ฅด๋ค.
โข
BOM์์ ์ ๊ณตํ๋ API๋ฅผ ์ ๊ทน ํ์ฉํ๋ฉด, ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์๋ค.