๐Ÿ“Web Developing/JavaScript ๊ธฐ์ดˆ

๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด

Hush 2022. 6. 20. 16:33

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ •ํ•œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์ƒˆ ํƒญ์„ ์—ฌ๋Š” ๋“ฑ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฐ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์— ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ง€๊ธˆ๋ถ€ํ„ฐ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด ์•Œ์•„๋ณด๊ธฐ

์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— ๋ฌธ์„œ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์ˆœ๊ฐ„ ์‚ฌ์šฉ์ž๋Š” ๋ˆˆ์น˜ ์ฑ„์ง€ ๋ชปํ•˜์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์†Œ์Šค๋ฅผ ํ•œ ์ค„์”ฉ ์ฝ์œผ๋ฉด์„œ ํ™”๋ฉด์— ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๊ณ  ๊ด€๋ จ๋œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ฆฌ๋ฉด ๊ฐ€์žฅ ๋จผ์ € window๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  ๋ฐ‘์œผ๋กœ ํ•˜์œ„ ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๋“ค์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

์ด ํ•˜์œ„ ๊ฐ์ฒด๋Š” ์›น ๋ฌธ์„œ์™€ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์ฒ˜๋Ÿผ ๋ธŒ๋ผ์šฐ์ € ์š”์†Œ์— ํ•ด๋‹นํ•˜๋ฉฐ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ•˜์œ„ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ง„๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด๋Š” ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ณด์ธ๋‹ค.

์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด์žฅ ๊ฐ์ฒด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ข…๋ฅ˜ ์„ค๋ช…
window ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ์—ด๋ฆด ๋•Œ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค์–ด์ง„๋‹ค.
๋ธŒ๋ผ์šฐ์ € ์ฐฝ ์•ˆ์— ์š”์†Œ ์ค‘์—์„œ ์ตœ์ƒ์œ„์— ์žˆ๋‹ค.
document ์›น ๋ฌธ์„œ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์žˆ์œผ๋ฉฐ <body> ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋งŒ๋“ค์–ด์ง„๋‹ค.
HTML ๋ฌธ์„œ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค.
navigator ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค.
history ํ˜„์žฌ ์ฐฝ์—์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐฉ๋ฌธ ๊ธฐ๋ก์„ ์ €์žฅํ•œ๋‹ค
location ํ˜„์žฌ ํŽ˜์ด์ง€์˜ URL ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค.
screen ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ํ™”๋ฉด ์ •๋ณด๋ฅผ ๋‹ค๋ฃฌ๋‹ค

 

window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ

window ๊ฐ์ฒด๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ƒํƒœ๋ฅผ ์ œ์–ดํ•˜๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ตœ์ƒ์œ„์— ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” window ๊ฐ์ฒด ์•ˆ์— ํฌํ•จ๋œ๋‹ค.

๋จผ์ € window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์•Œ์•„๋ณด๊ฒ ๋‹ค.

window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋Š” ์ฃผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๊ฐ’์„ ๋ฐ”๊ฟ€ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด window.fullScreen ์ฒ˜๋Ÿผ ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„ ์•ž์— 'window.'๋ฅผ ๋ถ™์ธ๋‹ค.

๋‹ค์Œ ํ‘œ๋Š” window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ์ค‘์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ˜ธํ™˜๋˜๋Š” ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๊ฒƒ.

์ข…๋ฅ˜ ์„ค๋ช…
document ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— ํ‘œ์‹œ๋œ ์›น ๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
frameElement ํ˜„์žฌ ์ฐฝ์ด ๋‹ค๋ฅธ ์š”์†Œ ์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ๊ทธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ ,
๋ฐ˜๋Œ€๋กœ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด null์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
innerHeight ๋‚ด์šฉ ์˜์—ญ์˜ ๋†’์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
innerWidth ๋‚ด์šฉ ์˜์—ญ์˜ ๋„ˆ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
localStorage ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
location window ๊ฐ์ฒด์˜ ์œ„์น˜ ๋˜๋Š” ํ˜„์žฌ URL์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
name ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•œ๋‹ค.
outerHeight ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ๋ฐ”๊นฅ ๋†’์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
outerWidth ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ๋ฐ”๊นฅ ๋„ˆ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
pageXOffset ์Šคํฌ๋กคํ–ˆ์„ ๋•Œ ์ˆ˜ํ‰์œผ๋กœ ์ด๋™ํ•˜๋Š” ํ”ฝ์…€ ์ˆ˜๋กœ scrollX์™€ ๊ฐ™๋‹ค.
pageYOffset ์Šคํฌ๋กคํ–ˆ์„๋•Œ ์ˆ˜์ง์œผ๋กœ ์ด๋™ํ•˜๋Š” ํ”ฝ์…€ ์ˆ˜๋กœ scrollY์™€ ๊ฐ™๋‹ค.
parent ํ˜„์žฌ ์ฐฝ์ด๋‚˜ ์„œ๋ธŒ ํ”„๋ ˆ์ž„์˜ ๋ถ€๋ชจ์ด๋‹ค
screenX ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ์™ผ์ชฝ ํ…Œ๋‘๋ฆฌ๊ฐ€ ๋ชจ๋‹ˆํ„ฐ ์™ผ์ชฝ ํ…Œ๋‘๋ฆฌ์—์„œ ๋–จ์–ด์ ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
screenY ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ์œ„์ชฝ ํ…Œ๋‘๋ฆฌ๊ฐ€ ๋ชจ๋‹ˆํ„ฐ ์œ„์ชฝ ํ…Œ๋‘๋ฆฌ์—์„œ ๋–จ์–ด์ ธ ์žˆ๋Š” ๊ฑฐ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
sessionStorage ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

window ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ

window ๊ฐ์ฒด์˜ ๋ฉ”์„ธ๋“œ๋Š” ๋Œ€ํ™” ์ฐฝ์„ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ํฌ๊ธฐ๋‚˜ ์œ„์น˜๋ฅผ ์•Œ์•„๋‚ด๊ณ  ์ง€์ •ํ•˜๋Š” ๋“ฑ ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ์ž์ฒด์™€ ๊ด€๋ จ๋œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์•ž์—์„œ ์‚ฌ์šฉํ•œ alert() ๋ฌธ์ด๋‚˜ prompt() ๋ฌธ์€ window ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ์ด๋ฏ€๋กœ ์›๋ž˜๋Š” window.alert()๋ผ๊ณ  ํ•ด์•ผ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ window ๊ฐ์ฒด๋Š” ๊ธฐ๋ณธ ๊ฐ์ฒด์ด๋ฏ€๋กœ 'window.'๋ฅผ ์ƒ๋žตํ•˜๊ณ  alert()๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ window ๊ฐ์ฒด์˜ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์—์„œ๋„ window. ๋ฅผ ์ƒ๋žตํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

์ข…๋ฅ˜ ์„ค๋ช…
alert() ์•Œ๋ฆผ ์ฐฝ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
blur() ํ˜„์žฌ ์ฐฝ์—์„œ ํฌ์ปค์Šค๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
close() ํ˜„์žฌ ์ฐฝ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.
confirm() [ํ™•์ธ], [์ทจ์†Œ] ๋ฒ„ํŠผ์ด ์žˆ๋Š” ํ™•์ธ ์ฐฝ์„ ํ‘œ์‹œํ•œ๋‹ค.
focus() ํ˜„์žฌ ์ฐฝ์— ํฌ์ปค์Šค๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.
moveBy() ํ˜„์žฌ ์ฐฝ์„ ์ง€์ •ํ•œ ํฌ๊ธฐ๋งŒํผ ์ด๋™ํ•œ๋‹ค
moveTo() ํ˜„์žฌ ์ฐฝ์„ ์ง€์ •ํ•œ ์ขŒํ‘œ๋กœ ์ด๋™ํ•œ๋‹ค.
open() ์ƒˆ๋กœ์šด ์ฐฝ์„ ์—ฝ๋‹ˆ๋‹ค.
postMessage() ๋ฉ”์„ธ์ง€๋ฅผ ๋‹ค๋ฅธ ์ฐฝ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.
print() ํ˜„์žฌ ๋ฌธ์„œ๋ฅผ ์ธ์‡„ํ•œ๋‹ค.
prompt() ํ”„๋กฌํ”„ํŠธ ์ฐฝ์— ์ž…๋ ฅํ•œ ํ…์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
resizeBy() ์ง€์ •ํ•œ ํฌ๊ธฐ๋งŒํผ ํ˜„์žฌ ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.
resizeTo() ๋™์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.
scroll() ๋ฌธ์„œ์—์„œ ํŠน์ • ์œ„์น˜๋กœ ์Šคํฌ๋กคํ•œ๋‹ค.
scrollBy() ์ง€์ •ํ•œ ํฌ๊ธฐ๋งŒํผ์”ฉ ์Šคํฌ๋กคํ•œ๋‹ค.
scrollTo() ์ง€์ •ํ•œ ์œ„์น˜๊นŒ์ง€ ์Šคํฌ๋กคํ•œ๋‹ค.
sizeToContent() ๋‚ด์šฉ์— ๋งž๊ฒŒ ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ๋งž์ถ˜๋‹ค
stop() ๋กœ๋”ฉ์„ ์ค‘์ง€ํ•œ๋‹ค.

 

์ƒˆ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ์—ฌ๋Š” open() ๋ฉ”์„œ๋“œ

๋งํฌ๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์›น ๋ฌธ์„œ๋ฅผ ์—ด ๋•Œ ์ƒˆ ์ฐฝ์ด ์ž๋™์œผ๋กœ ๋œจ๊ฒŒ ํ•˜๋ ค๋ฉด window.open() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

window.open() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ๋กœ ํ™ˆํŽ˜์ด์ง€์˜ ํŒ์—… ์ฐฝ์„ ๋„์šธ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

ํŒ์—… ์ฐฝ์€ ํ™ˆํŽ˜์ด์ง€์˜ ์ด๋ฒคํŠธ, ๊ณต์ง€ ์‚ฌํ•ญ์„ ์ „ํ•˜๊ฑฐ๋‚˜ ์‡ผํ•‘๋ชฐ์—์„œ ์ƒํ’ˆ ์ •๋ณด๋ฅผ ํฌ๊ฒŒ ๋ณด์—ฌ ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ƒˆ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋ฆฐ ์›น ๋ฌธ์„œ๋Š” ๋ฏธ๋ฆฌ ๋งŒใ„ท๋ฅด์–ด ๋‘์—ˆ๋‹ค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฝ๋กœ ๋ถ€๋ถ„์— ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

window.open(๊ฒฝ๋กœ, ์ฐฝ ์ด๋ฆ„, ์ฐฝ ์˜ต์…˜)

๊ฒฝ๋กœ:ํŒ์—… ์ฐฝ์— ํ‘œ์‹œํ•  ๋ฌธ์„œ๋‚˜ ์‚ฌ์ดํŠธ์˜ ๊ฒฝ๋กœ(์ฃผ์†Œ)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์ฐฝ ์ด๋ฆ„: ํŒ์—… ์ฐฝ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ํ•ญ์ƒ ์ด ์ฐฝ์— ํŒ์—… ๋‚ด์šฉ์ด ๋‚˜ํƒ€๋‚˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํŒ์—… ์ฐฝ์ด ๊ณ„์† ์ƒˆ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

์ฐฝ ์˜ต์…˜: left, top ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ์œ„์น˜๋ฅผ ์ •ํ•˜๊ฑฐ๋‚˜ width, height ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํŒ์—… ์ฐฝ์€ ํ™”๋ฉด์˜ ๋งจ ์™ผ์ชฝ ์œ„์— ๋‚˜ํƒ€๋‚œ๋‹ค.

 

๋‹ค์Œ์€ ๋„ˆ๋น„ 500px, ๋†’์ด 400px ์ธ ํŒ์—… ์ฐฝ์„ ์—ฌ๋Š” ์˜ˆ์ œ์ด๋‹ค.

๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ๋ฌธ์„œ๋ฅผ ์—ด์ž๋งˆ์ž ํŒ์—… ์ฐฝ์ด ๋ฐ”๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

ํŒ์—… ์ฐฝ์œผ๋กœ ํ™œ์šฉํ•  ์›น ๋ฌธ์„œ๋Š” ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>๋ฌธ์„œ๋ฅผ ์—ด๋ฉด ํŒ์—… ์ฐฝ์ด ํ‘œ์‹œ๋œ๋‹ค.</p>
    <script>
        window.open("test2.html","","width=500, height=400");
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1>ํŒ์—…์ฐฝ์ž…๋‹ˆ๋‹ค.</h1>
</body>
</html>

 

์ฐฝ ์ด๋ฆ„ ์ง€์ •ํ•˜๊ธฐ

์•ž์„  ์˜ˆ์ œ์—์„œ ๊ณ„์† ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ˆ„๋ฅด๋ฉด ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ํŒ์—… ์ฐฝ์ด ์—ด๋ฆด ๊ฒƒ์ด๋‹ค.

open() ๋ฉ”์„œ๋“œ์—์„œ ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์ธ ์ฐฝ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํŒ์—… ์ฐฝ ์œ„์น˜ ์ง€์ •ํ•˜๊ธฐ

open() ๋ฉ”์„œ๋“œ๋กœ ํŒ์—… ์ฐฝ์„ ํ‘œ์‹œํ•˜๋ฉด ๊ธฐ๋ณธ ์œ„์น˜๋Š” ํ™”๋ฉด์˜ ์™ผ์ชฝ ์œ„ ๊ตฌ์„์— ๋‚˜ํƒ€๋‚œ๋‹ค.

ํŒ์—… ์ฐฝ์˜ ์œ„์น˜๋Š” open() ๋ฉ”์„œ๋“œ์˜ left์™€ top ์†์„ฑ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

left ์†์„ฑ์€ ํ™”๋ฉด์˜ ์™ผ์ชฝ ์ธก๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ , top ์†์„ฑ์€ ํ™”๋ฉด์˜ ์œ„์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ํŒ์—… ์ฐฝ์„ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด๋œจ๋ฆด์ง€ ์ง€์ •ํ•œ๋‹ค.

๋‹ค์Œ ์˜ˆ์ œ๋Š” ํ™”๋ฉด์˜ ์™ผ์ชฝ์—์„œ 100px, ์œ„์—์„œ 200px ๋–จ์–ด์ง„ ์œ„์น˜์— ํŒ์—… ์ฐฝ์„ ํ‘œ์‹œํ•œ๋‹ค.

 

ํŒ์—… ์ฐจ๋‹จ ๊ณ ๋ ฅํ•˜๊ธฐ

๋Œ€๋ถ€๋ถ„์˜ ํŒ์—… ์ฐฝ์—์„œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ด‘๊ณ ๋‚˜ ์ •๋ณด๋ฅผ ๊ฐ•์ œ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ํŒ์—… ์ฐฝ์ด ์—ด๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๋˜์•ˆ ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ํŒ์—…์ด ์ž๋™์œผ๋กœ ์ฐจ๋‹จ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ํŒ์—… ์ฐฝ์ด ์ž๋™์œผ๋กœ ์ฐจ๋‹จ๋œ ์‚ฌ์‹ค์„ ๋ชจ๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์‚ฌ์ดํŠธ์˜ ๊ณต์ง€์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ๋‚ด์šฉ์„ ํŒ์—… ์ฐฝ์œผ๋กœ ๋ณด์—ฌ ์ฃผ์–ด์•ผ ํ•œ๋‹ค๋ฉด ํŒ์—… ์ฐจ๋‹จ๋œ ์ƒํƒœ์ธ์ง€ ์ฒดํฌํ•˜์—ฌ ์•Œ๋ ค ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

๋‹ค์Œ์€ ํŒ์—… ์ฐฝ์„ ์—ฌ๋Š” openPop()ํ•จ์ˆ˜์—์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฐจ๋‹จ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŒ์—…์„ ์ฐจ๋‹จํ•˜๋ฉด window.open()์€ null์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ window.open() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ๋ฐ˜ํ™˜๊ฐ’์„ ์ฒดํฌํ•˜๋ฉด ํŒ์—…์ด ์ฐจ๋‹จ๋˜์—ˆ๋Š”์ง€ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body onload="openPopup()">
    <p>๋ฌธ์„œ๋ฅผ ์—ด๋ฉด ํŒ์—… ์ฐฝ์ด ํ‘œ์‹œ๋œ๋‹ค.</p>
    <script>
        function openPopup(){
            var newWin= window.open("test2.html","pop","width=500, height=400");
            if (newWin == null){
                alert("ํŒ์—…์ด ์ฐจ๋‹จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ์—… ์ฐจ๋‹จ์„ ํ•ด์ œํ•ด ์ฃผ์„ธ์š”.")
            }
            newWin.moveBy(100,100);
        }
    </script>
</body>
</html>

 

๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ๋‹ซ๋Š” close() ๋ฉ”์„œ๋“œ

์ผ๋ฐ˜์ ์œผ๋กœ ํŒ์—… ์ฐฝ ๋‚ด์šฉ์„ ๋ชจ๋‘ ์‚ดํŽด๋ณธ ํ›„์— ์ฐฝ์„ ๋‹ซ์„ ์ˆ˜ ์žˆ๋„๋ก ํ™”๋ฉด ์•„๋ž˜์ชฝ์— [๋‹ซ๊ธฐ] ๋ฒ„ํŠผ์ด๋‚˜ ๋งํฌ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

ํŒ์—… ์ฐฝ์„ ์—ฌ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ open() ์ด๋ผ๋ฉด ์ฐฝ์„ ๋‹ค๋Š” ๋ฉ”์„œ๋“œ๋Š” close() ์ด๋‹ค.

window.close() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ˜„์žฌ ์ฐฝ์„ ๋‹ซ๋Š”๋‹ค.

 

navigator ๊ฐ์ฒด

navigator ๊ฐ์ฒด์—๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ„์ „์„ ๋น„๋กฏํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ์ •๋ณด๋‚˜ ์˜จ-์˜คํ”„๋ผ์ธ ๋“ฑ์˜ ์—ฌ๋Ÿฌ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค. 

์ด ์ •๋ณด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ ์ค„ ์ˆ˜๋งŒ ์žˆ๋‹ค.

 

์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๋ Œ๋”๋ง ์—”์ง„

์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ ์  ๋‹ค์–‘ํ•ด์ง์—๋”ฐ๋ผ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•˜๋Š” ์›น ๋ฌธ์„œ๋ฅผ ๊ฐœ๋ฐœํ•  ํ•„์š”์„ฑ์ด ์ƒ๊ฒผ๋‹ค.

์—ฌ๋Ÿฌ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์€ ์›น ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด๊ธฐ๋„ ํ•˜๋‹ค.

 

์—ฌ๋Ÿฌ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์ƒ๊ฐํ•ด์•ผ ํ•  ๋ถ„์•ผ๋Š” ๋ Œ๋”๋ง ์—”์ง„์ด๋‹ค.

์•„์ง ํ‘œ์ค€ํ™”๋˜์ง€ ์•Š์€ CSS ์†์„ฑ ์•ž์—๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ฒค๋”๋ฅผ ์˜๋ฏธํ•˜๋Š” ํ”„๋ฆฌํ”ฝ์Šค(prefix)๋ฅผ ์ง€์ •ํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ์ง€์ •ํ•˜๋Š” ์ด์œ ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค HTML์ด๋‚˜ CSS๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ Œ๋”๋ง ์—”์ง„์ด ๋‹ค๋ฅด๊ธฐ ๋–„๋ฌธ์ด๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ๋ฌธ์„œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋‚ด์žฅ๋œ ๋ Œ๋”๋ง ์—”์ง„์—์„œ ์†Œ์Šค๋ฅผ ํ•ด์„ํ•œ๋‹ค.

์ด๋•Œ ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๋ Œ๋”๋ง ์—”์ง„์ด ๋‹ค๋ฅด๋ฏ€๋กœ ํ”„๋ฆฌํ”ฝ์Šค๋ฅผ ๋ถ™์—ฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ตฌ๋ณ„ํ•œ๋‹ค.

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‚ด์žฅ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„๋„ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.

๊ทธ๋ž˜์„œ ๋˜‘๊ฐ™์€ HTML5 ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋”๋ผ๋„ ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋ณด์—ฌ ์ฃผ๋Š” ํšจ๊ณผ์™€ ์„ฑ๋Šฅ์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— 'chrome://version/' ์„ ์ž…๋ ฅํ•ด ๋ณด๋ฉด ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋ Œ๋”๋ง ์—”์ง„๊ณผ ๋ฒ„์ „์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ ๋ธŒ๋ผ์šฐ์ €์— ํฌํ•จ๋œ ๋ Œ๋”๋ง ์—”์ง„๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋‹ค์Œ ํ‘œ์™€ ๊ฐ™๋‹ค.

๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ์—”์ง„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„
ํฌ๋กฌ ๋ธ”๋งํฌ(Blink) V8
ํŒŒ์ด์–ดํญ์Šค ๊ฒŒ์ฝ”(Gecko) ์ŠคํŒŒ์ด๋”๋ชฝํ‚ค(SpiderMonkey)
์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ ํŠธ๋ผ์ด๋ดํŠธ(Trident) ์ฐจํฌ๋ผ(Chakra)
์‚ฌํŒŒ๋ฆฌ ์›นํ‚ท(Webkit) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์ฝ”์–ด(JavascriptCore)
์˜คํŽ˜๋ผ ๋ธ”๋งํฌ(Blink) V8

 

userAgent ํ”„๋กœํผํ‹ฐ

navigator ๊ฐ์ฒด์—์„œ ๊ฐ€์žฅ ๋จผ์ € ์•Œ์•„์•ผ ํ•  ํ”„๋กœํผํ‹ฐ๋Š” userAgent๋กœ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด์„ ์˜๋ฏธํ•œ๋‹ค.

userAgent๋Š” ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

userAgent์—๋Š” ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ์ข…๋ฅ˜ ๋“ฑ ์—ฌ๋Ÿฌ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์„œ๋ฒ„์—์„œ๋Š” ๊ทธ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งž๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด์˜ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"

์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด์€ Mozilla ๋ผ๋Š” ์˜ˆ์•ฝ์–ด๋กœ ์‹œ์ž‘ํ•œ๋‹ค.

์ตœ๊ทผ์—๋Š” ๊ฐ™์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋งŽ์•„์„œ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์ด ๊ฒน์น˜๋ฏ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ถ”์„ธ์ด๋‹ค.

`

 

navigator ๊ฐ์ฒด ์ •๋ณด ์‚ดํŽด๋ณด๊ธฐ

navigator ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ ์†์„ฑ์ด ํฌํ•จ๋œ๋‹ค.

์ข…๋ฅ˜ ์„ค๋ช…
battery ๋ฐฐํ„ฐ๋ฆฌ ์ถฉ์ „ ์ƒํƒœ๋ฅผ ์•Œ๋ ค ์ค€๋‹ค.
cookieEnabled ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ๋ฌด์‹œํ•˜๋ฉด false, ํ—ˆ์šฉํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
geolocation ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋ฅผ ์ด์šฉํ•œ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
language ๋ธŒ๋ผ์šฐ์ €์˜ UI์˜ ์–ธ์–ด ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
oscpu ํ˜„์žฌ ์šด์˜์ฒด์ œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค
userAgent ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ๋ฌธ์ž์—ด์ด๋‹ค.

navigator ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋Š” ๋Œ€๋ถ€๋ถ„ ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์ง€์›ํ•œ๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•˜์ž.

 

history ๊ฐ์ฒด

history ๊ฐ์ฒด์—๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ [๋’ค๋กœ]๋‚˜ [์•ž์œผ๋กœ] ๋˜๋Š” ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— ์ž…๋ ฅํ•ด์„œ ๋ฐฉ๋ฌธํ•œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ๊ฐ€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ํžˆ์Šคํ† ๋ฆฌ๋Š” ๋ณด์•ˆ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ์ฝ๊ธฐ ์ „์šฉ์ด๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
ํ”„๋กœํผํ‹ฐ length ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ history ๋ชฉ๋ก์— ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜, ์ฆ‰ ๋ฐฉ๋ฌธํ•œ ์‚ฌ์ดํŠธ ๊ฐœ์ˆ˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.
๋ฉ”์„œ๋“œ back() history ๋ชฉ๋ก์—์„œ ์ด์ „ ํŽ˜์ด์ง€๋ฅผ ํ˜„์žฌ ํ™”๋ฉด์œผ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
forward() history ๋ชฉ๋ก์—์„œ ๋‹ค์Œ ํŽ˜์ด์ง€๋ฅผ ํ˜„์žฌ ํ™”๋ฉด์œผ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
go() history ๋ชฉ๋ก์—์„œ ํ˜„์žฌ ํŽ˜์ด์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋Œ€์ ์ธ ์œ„์น˜์— ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ํ˜„์žฌ ํ™”๋ฉด์œผ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด history.go(1)์€ ๋‹ค์Œ ํŽ˜์ด์ง€๋ฅด๋ฅด ๊ฐ€์ ธ์˜ค๊ณ , history.go(-1)์€ ์ด์ „ ํŽ˜์—์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

 

location ๊ฐ์ฒด

location ๊ฐ์ฒด๋Š” ์ด๋ฆ„์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ ํ‘œ์‹œ์ค„๊ณผ ๊ด€๋ จ๋œ๋‹ค.

์ฆ‰, location ๊ฐ์ฒด์—๋Š” ํ˜„์žฌ ๋ฌธ์„œ์˜ URL ์ฃผ์†Œ ์ •๋ณด๊ฐ€ ๋“ค์–ด ์žˆ๋Š”๋ฐ ์ด ์ •๋ณด๋ฅผ ํŽธ์ง‘ํ•˜๋ฉด ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์—์„œ ์—ด์–ด์•ผ ํ•  ์‚ฌ์ดํŠธ๋‚˜ ๋ฌธ์„œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ ํ‘œ๋Š” location ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

location ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ [์ƒˆ๋กœ ๊ณ ์นจ] ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋Š” reload() ๋ฉ”์„œ๋“œ์™€ ํ˜„์žฌ ์ฐฝ์— ๋‹ค๋ฅธ ๋ฌธ์„œ๋‚˜ ์‚ฌ์ดํŠธ๋ฅผ ๋ณด์—ฌ ์ฃผ๋Š” replace() ๋ฉ”์„œ๋“œ๊ฐ€ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
ํ”„๋กœํผํ‹ฐ hash URL ์ค‘์—์„œ #๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ•ด์‹œ ๋ถ€๋ถ„์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.
host URL์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„๊ณผ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.
hostname URL์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ์ €์žฅ๋œ๋‹ค.
href ์ „์ฒด URL์ด๋‹ค. ์ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด ํ•ด๋‹น ์ฃผ์†Œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.
pathname URL ๊ฒฝ๋กœ๊ฐ€ ์ €์žฅ๋œ๋‹ค.
port URL์˜ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.
protocol URL์˜ ํ”„๋กœํ† ์ฝœ์„ ์ €์žฅํ•œ๋‹ค.
passward ๋„๋งค์ธ ์ด๋ฆ„ ์•ž์— username๊ณผ passward ๋ฅผ ํ•จ๊ป˜ ์ž…๋ ฅํ•ด์„œ ์ ‘์†ํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ URL์ผ ๊ฒฝ์šฐ์— passward ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
search URL ์ค‘์—์„œ ?๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒ€์ƒ‰ ๋‚ด์šฉ์„ ์ €์žฅํ•œ๋‹ค.
username ๋„๋ฉ”์ธ ์ด๋ฆ„ ์•ž์— username์„ ํ•จ๊ป˜ ์ž…๋ ฅํ•ด์„œ ์ ‘์†ํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ URL์ผ ๊ฒฝ์šฐ์— username ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
๋ฉ”์„œ๋“œ assign() ํ˜„์žฌ ๋ฌธ์„œ์— ์ƒˆ ๋ฌธ์„œ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด์„œ ์ƒˆ ๋ฌธ์„œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
reload() ํ˜„์žฌ ๋ฌธ์„œ๋ฅผ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
replace() ํ˜„์žฌ ๋ฌธ์„œ์˜ URL์„ ์ง€์šฐ๊ณ  ๋‹ค๋ฅธ URL์˜ ๋ฌธ์„œ๋กœ ๊ต์ฒดํ•œ๋‹ค.
toString() ํ˜„์žฌ ๋ฌธ์„œ์˜ URL์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

screen ๊ฐ์ฒด

์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค.

์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด ํฌ๊ธฐ๋‚˜ ์ •๋ณด๋ฅผ ์•Œ์•„๋‚ผ ๋•Œ screen ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋‹ค์Œ ํ‘œ๋Š” screen ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ์˜ ์ข…๋ฅ˜๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

screen ๊ฐ์ฒด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ํ™”๋ฉด ๋ฐฉํ–ฅ์„ ์ž ๊ทธ๊ฑฐ๋‚˜ ์ž ๊ทผ ํ™”๋ฉด์˜ ๋ฐฉํ–ฅ์„ ํ•ด์ œํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ด 2๊ฐ€์ง€ ๋ฉ”์„œ๋“œ๋Š” ํ’€ ์Šคํฌ๋ฆฐ ์ƒํƒœ์ผ ๋•Œ๋‚˜ ๋ฐฉํ–ฅ ์ „ํ™˜์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
ํ”„๋กœํผํ‹ฐ availHeight UI ์˜์—ญ(์˜ˆ๋ฅผ ๋“ค์–ด ์œˆ๋„์šฐ์˜ ์ž‘์—… ํ‘œ์‹œ์ค„์ด๋‚˜ Mac์˜ ๋…)์„ ์ œ์™ธํ•œ ์˜์—ญ์˜ ๋†’์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
availWidth UI ์˜์—ญ์„ ์ œ์™ธํ•œ ๋‚ด์šฉ ํ‘œ์‹œ ์˜์—ญ์˜ ๋„ˆ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
colorDepth ํ™”๋ฉด์—์„œ ํ”ฝ์…€์„ ๋ Œ๋”๋งํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ƒ‰์ƒ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
height UI ์˜์—ญ์„ ํฌํ•จํ•œ ํ™”๋ฉด์˜ ๋†’์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
orientation ํ™”๋ฉด์˜ ํ˜„์žฌ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
pixelDepth ํ™”๋ฉด์—์„œ ํ”ฝ์…€์„ ๋žœ๋”๋งํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋น„ํŠธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
width UI ์˜์—ญ์„ ํฌํ•จํ™˜ ํ™”๋ฉด์˜ ๋„ˆ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋ฉ”์„œ๋“œ lockOrientation() ํ™”๋ฉด ๋ฐฉํ–ฅ์„ ์ž ๊ทผ๋‹ค.
unlockOrientation() ํ™”๋ฉด ๋ฐฉํ–ฅ ์ž ๊ธˆ์„ ํ•ด์ œํ•œ๋‹ค.