2021. 10. 20. 17:06ใHTML + CSS + JS
1. ๋ธ๋ผ์ฐ์ ๊ด๋ จ ๊ฐ์ฒด
์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฆฌ๋ฉด ๊ฐ์ฅ ๋จผ์ window๋ผ๋ ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๊ณ , ๋ฐ์ผ๋ก ํ์ ์์์ ํด๋คํ๋ ๊ฐ์ฒด๋ค์ด ๋ํ๋๋ค.
window์ ํ์ ๊ฐ์ฒด๋ก๋ document, history ๋ฑ์ด ์๊ณ ,
document์ ํ์ ๊ฐ์ฒด๋ก๋ area, image ๋ฑ์ด ์๋ค.
window : ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ์ด๋ฆด ๋ ๋ง๋ค ํ๋์ฉ ๋ง๋ค์ด์ง๋ ๊ฒ์ผ๋ก , ๋ธ๋ผ์ฐ์ ์ฐฝ ์์ ์์ ์ค์์ ์ต์์์ ์๋ค.
document : ์น ๋ฌธ์๋ง๋ค ํ๋์ฉ ์์ผ๋ฉฐ, body ํ๊ทธ๋ฅผ ๋ง๋๋ฉด ๋ง๋ค์ด์ง๋ค.
navigator : ํ์ฌ ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
history : ํ์ฌ ์ฐฝ์์ ์ฌ์ฉ์์ ๋ฐฉ๋ฌธ ๊ธฐ๋ก์ ์ ์ฅํ๋ค.
location : ํ์ฌ ํ์ด์ง์ url ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ค.
screen : ํ์ฌ ์ฌ์ฉํ๋ ํ๋ฉด ์ ๋ณด๋ฅผ ๋ค๋ฃฌ๋ค.
2. window ๊ฐ์ฒด์ ํ๋กํผํฐ
window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ ์ฃผ๋ก ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ๊ฐ์ ๋ฐ๊ฟ ๋ ์ฌ์ฉํ๋ค.
document : ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํ์๋ ์น ๋ฌธ์์ ์ ๊ทผํ ์ ์๋ค.
frameElement : ํ์ฌ ์ฐฝ์ด ๋ค๋ฅธ ์์ ์์ ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ ๊ทธ ์์๋ฅผ ๋ฐํํ๊ณ , ๋ฐ๋๋ก ํฌํจํ๊ณ ์์ง ์์ผ๋ฉด null์ ๋ฐํํ๋ค.
innerHeight : ๋ด์ฉ ์์ญ์ ๋์ด๋ฅผ ๋ํ๋ธ๋ค.
innerWidth : ๋ด์ฉ ์์ญ์ ๋๋น๋ฅผ ๋ํ๋ธ๋ค.
localStroage : ์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ๋ฐํํ๋ค.
location : window ๊ฐ์ฒด์ ์์น ๋๋ ํ์ฌ url๋ฅผ ๋ํ๋ธ๋ค.
name : ๋ธ๋ผ์ฐ์ ์ฐฝ์์ด๋ฆ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์ ํ๋ค.
outerHeight : ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ฐ๊นฅ ๋์ด๋ฅผ ๋ํ๋ธ๋ค.
outerWidth : ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ฐ๊นฅ ๋๋น๋ฅผ ๋ํ๋ธ๋ค.
pageXOffset : ์คํฌ๋กคํ์ ๋ ์ํ์ผ๋ก ์ด๋ํ๋ ํฝ์ ์ scrollX์ ๊ฐ๋ค.
pageYOffset : ์คํฌ๋กคํ์ ๋ ์์ง์ผ๋ก ์ด๋ํ๋ ํฝ์ ์๋ก scrollY์ ๊ฐ๋ค.
parent : ํ์ฌ ์ฐฝ์ด๋ ์๋ธ ํ๋ ์์ ๋ถ๋ชจ
screenX : ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ผ์ชฝ ํ ๋๋ฆฌ๊ฐ ๋ชจ๋ํฐ ์ผ์ชฝ ํ ๋๋ฆฌ์์ ๋จ์ด์ ธ ์๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค.
screenY : ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์์ชฝ ํ ๋๋ฆฌ๊ฐ ๋ชจ๋ํฐ ์์ชฝ ํ ๋๋ฆฌ์์ ๋จ์ด์ ธ ์๋ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค.
scrollX : ์คํฌ๋กคํ์ ๋ ์ํ์ผ๋ก ์ด๋ํ๋ ํฝ์ ์๋ฅผ ๋ํ๋ธ๋ค.
scrollY : ์คํฌ๋กคํ์ ๋ ์์ง์ผ๋ก ์ด๋ํ๋ ํฝ์ ์๋ฅผ ๋ํ๋ธ๋ค.
sessionStroage : ์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ธ์ ์คํ ๋ฆฌ์ง๋ฅผ ๋ฐํํ๋ค.
3. window ๊ฐ์ฒด์ ๋ฉ์๋
window ๊ฐ์ฒด์ ๋ฉ์๋๋ ๋ํ์ฐฝ์ ํ์ํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํฌ๊ธฐ๋ ์์น๋ฅผ ์์๋ด๊ณ ์ง์ ํ๋ ์น ๋ธ๋ผ์ฐ์ ์ฐฝ ์์ฒด์ ๊ด๋ จ๋๋ค.
alert() : ์๋ฆผ์ฐฝ ํ์
blur() : ํ์ฌ ์ฐจ์์ ํฌ์ปค์ค ์ ๊ฑฐ
close() : ํ์ฌ ์ฐฝ์ ๋ซ์
confirm() : ํ์ธ, ์ทจ์ ๋ฒํผ์ด ์๋ ํ์ธ์ฐฝ ํ์
focus() : ํ์ฌ ์ฐฝ์ ํฌ์ปค์ค ๋ถ์ฌ
moveBy() : ํ์ฌ ์ฐฝ์ ์ง์ ํ ํฌ๊ธฐ๋งํผ ์ด๋
moveTo() : ํ์ฌ ์ฐฝ์ ์ง์ ํ ์ขํ๋งํผ ์ด๋
open() : ์๋ก์ด ์ฐฝ์ ์ฐ๋ค.
postMesasge() : ๋ฉ์์ง๋ฅผ ๋ค๋ฅธ ์ฐฝ์ผ๋ก ์ ๋ฌ
print() : ํ์ฌ ๋ฌธ์ ์ธ์
resizeBy() : ์ง์ ํ ํฌ๊ธฐ๋งํผ ํ์ฌ ์ฐฝ์ ํฌ๊ธฐ๋ฅผ ์กฐ์
scroll() : ๋ฌธ์์์ ํน์ ์์น๋ก ์คํฌ๋กค
scrollBy() : ์ง์ ํ ํฌ๊ธฐ๋งํผ์ฉ ์คํฌ๋กค
scrollTo() : ์ง์ ํ ์์น๋งํผ์ฉ ์คํฌ๋กค
sizeToContent() : ๋ด์ฉ์ ๋ง๊ฒ ์ฐฝ์ ํฌ๊ธฐ๋ฅผ ๋ง์ถค
stop() : ๋ก๋ฉ์ ์ค์งํจ.
1๏ธโฃ open()
window.open() ๋ฉ์๋๋ ์ฃผ๋ก ํํ์ด์ง ํ์ ์ ๋์ธ๋ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
window.open(๊ฒฝ๋ก, ์ฐฝ ์ด๋ฆ, ์ฐฝ ์ต์ )
๊ฒฝ๋ก : ํฌ์ํ ๋ฌธ์๋ ์ฌ์ดํธ์ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ธ๋ค.
์ฐฝ ์ด๋ฆ: ํ์ ์ฐฝ์ ์ด๋ฆ์ ์ง์ ํ๋ฉด ํญ์ ์ด์ฐฝ์ ํ์ ๋ด์ฉ์ด ๋ํ๋๋๋ก ํ ์ ์๋ค. ์ด๋ฆ์ ์ง์ ํ์ง ์์ผ๋ฉด ํ์ ์ฐฝ์ด ๊ณ์ ์๋ก ๋ํ๋๋ค.
์ฐฝ ์ต์ : left, top ๋ฑ์ ์์ฑ์ ์ฌ์ฉํด ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์๋ค. ๋ง์ฝ ์ง์ ํ์ง ์์ผ๋ฉด ๋งจ ์ผ์ชฝ์ ๋ํ๋๋ค.
โ ์ด๋ ํ์ ์ฐฝ์ด ์ ๋ฐ ์๋ ์๋๋ฐ ๊ทธ ์ด์ ๋ ํ์ ์ด ์๋์ผ๋ก ์ฐจ๋จ๋์ด์์์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค .
์ด๋ฅผ ์ํด์
2๏ธโฃ close()
close()๋ ์ฐฝ์ ๋ซ๋ ๋ฉ์๋์ด๋ค.
4. navigator ๊ฐ์ฒด
navigator ๊ฐ์ฒด์๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฒ์ ์ ๋น๋กฏํด ํ๋ฌ๊ทธ์ธ ์ค์น ์ ๋ณด๋ ์จ, ์คํ๋ผ์ธ๋ฑ์ ์ฌ๋ฌ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ค.
navigator ๊ฐ์ฒด ์ ๋ณด๋ ๋ธ๋ผ์ฐ์ ํด๋ฆญํ๊ณ ๊ฐ๋ฐ์ ๋๊ตฌ์์ console์ navigator๋ผ๊ณ ์ ๋ ฅํ๋ฉด ๋ณผ ์ ์๋ค.
- userAgent ํ๋ฌํผํฐ
navigator ๊ฐ์ฒด์์ ๊ฐ์ฅ ๋จผ์ ์์์ผํ ํ๋กํผํฐ๋ userAgent ๋ก ์ฌ์ฉ์ ์์ด์ ํธ ๋ฌธ์์ด์ ์๋ฏธํ๋ค.
์ด ํ๋กํผํฐ๋ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ฅผ ์๋ฒ์ ๋ณด๋ผ ๋ ์ ์ฉํ๋ค.
Mozilla/5.0 ๋ชจ์ง๋ผ ๋ฒ์ ์ ๋ํ๋ธ๋ค.
windows NT 10.0 ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ๋ ์ปดํจํฐ ์ด์์ฒด์
win 64 : 64๋นํธ ๊ธฐ๋ฐ
AppleWebkit/537.36 ์นํท ์์ง์ ๋น๋ ๋ฒํธ๋ฅผ ๋ํ๋ธ๋ค.
KHTML ์คํ์์ค ๋ ๋๋ง ์์ง์ธ khtml์ ์๋ฏธ
like Gecko ๊ฒ์ฝ ๊ธฐ๋ฐ์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ํธํ์ ์๋ฏธ
safari/537.36 ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ์ ๋น๋ ๋ฒํธ๋ฅผ ์๋ฏธ
์์ ์๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ณํ ๋ ์ฌ์ฉ์ ์์ด์ ํธ ๋ฌธ์์ด์ ๋ง์ด ์ฌ์ฉํ๋๋ฐ ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ ๋ค์ด ๋ง์์ ์ฌ์ฉ์ ์์ด์ ํธ ๋ฌธ์์ด์ ๋ด์ฉ์ด ๊ฒน์น๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์๋ ์ถ์ธ๋ผ๊ณ ํ๋ค.
5. history ๊ฐ์ฒด
history ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ์์ ๋ค๋ก, ์์ผ๋ก ๋๋ ์ฃผ์ ํ์์ค์ ์ ๋ ฅํด์ ๋ฐฉ๋ฌธํ ์ฌ์ดํธ ์ฃผ์๊ฐ ๋ฐฐ์ด ํํ๋ก ์ ์ฅ๋๋ค,
- history ํ๋กํผํฐ
length : ํ์ฌ ๋ธ๋ผ์ฐ์ ์ฐฝ์ history ๋ชฉ๋ก์ ์๋ ํญ๋ชฉ์ ๊ฐ์, ์ฆ ๋ฐฉ๋ฌธํ ์ฌ์ดํธ์ ๊ฐ์๊ฐ ์ ์ฅ๋๋ค.
- history ๋ฉ์๋
back() : history ๋ชฉ๋ก์์ ์ด์ ํ์ด์ง๋ฅผ ํ์ฌ ํ๋ฉด์ผ๋ก ๋ถ๋ฌ์จ๋ค.
forward() : history ๋ชฉ๋ก์์ ๋ค์ ํ์ด์ง๋ฅผ ํ์ฌ ํ๋ฉด์ผ๋ก ๋ถ๋ฌ์จ๋ค.
go() : history ๋ชฉ๋ก์์ ํ์ฌ ํ์ด์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋์ ์ธ ์์น์ ์๋ ํ์ด์ง๋ฅผ ํ์ฌ ํ๋ฉด์ผ๋ก ๋ถ๋ฌ์จ๋ค
history.go(-1) ์ด์ ํ์ด์ง history.go(1) ๋ค์ ํ์ด์ง
6. location ๊ฐ์ฒด
location ๊ฐ์ฒด๋ ์ด๋ฆ์์๋ ์์ ์๋ฏ์ด ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ํ์์ค๊ณผ ๊ด๋ จ์๋ ๊ฐ์ฒด์ด๋ค.
location ๊ฐ์ฒด์๋ ํ์ฌ ๋ฌธ์์ url ์ฃผ์ ์ ๋ณด๊ฐ ๋ค์ด์๋ค.
- location ํ๋กํผํฐ
hash : url ์ค์์ #์ผ๋ก ์์ํ๋ ํด์ ๋ถ๋ถ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์.
host : url์ ํธ์คํธ ์ด๋ฆ๊ณผ ํฌํธ๋ฒํธ๋ฅผ ๋ด๊ณ ์์.
hostname : url ํธ์คํธ ์ด๋ฆ์ ์ง์ ํ๊ณ ์์.
href : ์ ์ฒด url
pathname : url ๊ฒฝ๋ก๊ฐ ์ ์ฅ๋จ
port : url์ ํฌํธ๋ฒํธ๋ฅผ ๋ด๊ณ ์์.
protocol : url์ ํ๋กํ ์ฝ์ ์ ์ฅํ๊ณ ์์.
password :๋๋ฉ์ธ ์ด๋ฆ ์์ username๊ณผ password๋ฅผ ํจ๊ป ์ ๋ ฅํด์ ์ ์ํ๋ ์ฌ์ดํธ์ url์ผ ๊ฒฝ์ฐ password์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ .
search : url ์ค์์ ?๋ก ์์ํ๋ ๊ฒ์ ๋ด์ฉ์ ์ ์ฅํจ.
username :๋๋ฉ์ธ ์ด๋ฆ ์์ username๊ณผ password๋ฅผ ํจ๊ป ์ ๋ ฅํด์ ์ ์ํ๋ ์ฌ์ดํธ์ url์ผ ๊ฒฝ์ฐ username์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ .
- location ๋ฉ์๋
assign() : ํ์ฌ ๋ฌธ์์์ ์ ๋ฌธ์ ์ฃผ์๋ฅผ ํ ๋นํด์ ์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์จ๋ค.
reload() : ํ์ฌ ๋ฌธ์๋ฅผ ๋ค์ ๋ถ๋ฌ์จ๋ค.
replace() : ํ์ฌ ๋ฌธ์์ url์ ์ง์ฐ๊ณ ๋ค๋ฅธ ๋ฌธ์์ url๋ก ๊ต์ฒดํ๋ค.
toString() : ํ์ฌ ๋ฌธ์์ url์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค.
7. screen ๊ฐ์ฒด
screen ๊ฐ์ฒด๋ ์ฌ์ฉ์์ ํ๋ฉด ํฌ๊ธฐ๋ ์ ๋ณด๋ฅผ ์์๋ผ ๋ ์ฌ์ฉํ๋ค.
- screen ๊ฐ์ฒด ํ๋กํผํฐ
availHeight: ui์์ญ์ ์ ์ธํ ์์ญ์ ๋์ด
availWidth : ui ์์ญ์ ์ ์ธํ ๋ด์ฉ ํ์ ์์ญ์ ๋๋น
colorDepth " ํ๋ฉด์์ ํฝ์ ์ ๋ ๋๋งํ ๋ ์ฌ์ฉํ๋ ์์ ์๋ฅผ ๋ํ๋ธ๋ค.
height : ui ์์ญ์ ํฌํจํ ํ๋ฉด์ ๋์ด
orientation : ํ๋ฉด์ ํ์ฌ ๋ฐฉํฅ์ ๋ํ๋ธ๋ค.
pixelDepth : ํ๋ฉด์์ ํฝ์ ์ ๋ ๋๋งํ ๋ ์ฌ์ฉํ๋ ๋นํธ ์
width : ui ์์ญ์ ํฌํจํ ํ๋ฉด์ ๋๋น๋ฅผ ๋ํ๋ธ๋ค.
- screen ๊ฐ์ฒด ๋ฉ์๋
lockOrientation() : ํ๋ฉด ๋ฐฉํฅ์ ์ ๊ธ
unlockOrientation() : ํ๋ฉด ๋ฐฉํฅ ์ ๊ธ์ ํด์ ํ๋ค.
* ์ฐ์ต๋ฌธ์
ํ์ ์ ํ๋ฉด ๊ฐ์ด๋ฐ์ ๋์ฐ๋ ๋ฐฉ๋ฒ
ํ๋ฉด์ ๊ธธ์ด์ ๋๋น์์ ํ์ ์ ๊ธธ์ด์ ๋๋น๋ฅผ ๋นผ๊ณ /2 ํด์ฃผ๋ฉด ๊ฐ์ด๋ฐ๋ก ์์น์ํฌ ์ ์๋ค.
opt์ ์ต์ ๋ฌธ์์ด์ ๋ชจ๋ ๋ฃ์ด์ค๋ค.