3 ๋ถ„ ์†Œ์š”

๐Ÿ“š JAVASCRIPT


๐Ÿ“š Window ๊ฐ์ฒด

Window ๊ฐ์ฒด๋ž€?

  • Window ๊ฐ์ฒด๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜๋Š” JavaScript์˜ ์ตœ์ƒ์œ„ ์ „์—ญ ๊ฐ์ฒด์ด๋‹ค.
  • Window ๊ฐ์ฒด์—๋Š” ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด์™€ ์†์„ฑ, ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
  • JS์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํผํ‹ฐ์™€ ํ•จ์ˆ˜๋„ ํฌํ•จํ•œ๋‹ค. ( Number ๊ฐ์ฒด, setInterval() ํ•จ์ˆ˜ ๋“ฑ )
  • BOM( Browser Object Model ) ์œผ๋กœ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

Window ๊ฐ์ฒด ์‚ฌ์šฉ

alert, confirm, prompt

Window ๊ฐ์ฒด์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฐฝ์„ open ํ•ด์ค€๋‹ค.

  • alert()
    ๋ธŒ๋ผ์šฐ์ €์˜ ์•Œ๋ฆผ ์ฐฝ

  • confirm()
    ๋ธŒ๋ผ์šฐ์ €์˜ ํ™•์ธ/์ทจ์†Œ ์ฐฝ ( true ๋ฉด ํ™•์ธ, false ๋ฉด ์ทจ์†Œ )

  • prompt()
    ๋ธŒ๋ผ์šฐ์ €์˜ ์ž…๋ ฅ ์ฐฝ

// alert()
function openAlert() {
  alert("์•Œ๋ฆผ์ฐฝ์ž…๋‹ˆ๋‹ค.");
}

// confirm()
function openConfirm() {
  if (confirm("ํ™•์ธ์ž…๋‹ˆ๊นŒ?")) {
    console.log("ํ™•์ธ ๋ˆŒ๋ €๋„ค์š”.");
  } else {
    console.log("์ทจ์†Œ ๋ˆŒ๋ €๋„ค์š”.");
  }
}

// prompt()
function openPrompt() {
  var txt = prompt("๋ฌธ์ž์—ด ์ž…๋ ฅ", "์‚ฌ์šฉ์ž์ž…๋ ฅ");
  console.log(txt);
}

  • navigator ๊ฐ์ฒด๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ •๋ณด๊ฐ€ ๋‚ด์žฅ๋œ ๊ฐ์ฒด์ด๋‹ค.
  • navigator์˜ ์ •๋ณด๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • HTML5์—์„œ๋Š” ์œ„์น˜ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
console.log("Browser CodeName      :  " + navigator.appCodeName);
console.log("Browser Name          :  " + navigator.appName);
console.log("Browser Version       :  " + navigator.appVersion);
console.log("Browser Enabled       :  " + navigator.cookieEnabled);
console.log("Platform         :  " + navigator.platform);
console.log("User-Agent header     :  " + navigator.userAgent);

location, history

JAVASCRIPT Window ๊ฐ์ฒด ์ƒˆ ์ฐฝ ์—ด๊ธฐ

์ƒˆ ์ฐฝ ์—ด๊ธฐ

  • window ๊ฐ์ฒด์˜ open() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ์ƒˆ ์ฐฝ์„ ์—ด ์ˆ˜ ์žˆ๋‹ค.
  • window.open(โ€˜ํŽ˜์ด์ง€ URLโ€™,โ€™์ฐฝ ์ด๋ฆ„โ€™, โ€˜ํŠน์„ฑโ€™, ํžˆ์Šคํ† ๋ฆฌ ๋Œ€์ฒด ์—ฌ๋ถ€ );
    • ์ฐฝ ์ด๋ฆ„ ( string ) : open ํ•  ๋Œ€์ƒ ( _blank, _self ๋“ฑ ) ์ง€์ • ํ˜น์€ ์ฐฝ์˜ ์ด๋ฆ„
    • ํŠน์„ฑ ( string ) : ์ƒˆ๋กœ ์—ด๋ฆด ์ฐฝ์˜ ๋„ˆ๋น„, ๋†’์ด ๋“ฑ์˜ ํŠน์„ฑ ์ง€์ • ( width, height, top, left ๋“ฑ๋“ฑ )
    • ํžˆ์Šคํ† ๋ฆฌ ๋Œ€์ฒด ์—ฌ๋ถ€ ( Boolean ) : ํ˜„์žฌ ํŽ˜์ด์ง€ ํžˆ์Šคํ† ๋ฆฌ์— ๋ฎ์–ด ์“ธ์ง€ ์—ฌ๋ถ€ ( true / false )
// ๋ฒ„ํŠผ ์ฐฝ ์—ด๊ธฐ
<button onclick="javascript:windowOpen();"> ๋ฒ„ํŠผ ์ฐฝ ์—ด๊ธฐ </button>

// ๋งํฌ ์ฐฝ ์—ด๊ธฐ
<a href="javascript:windowOpen();"> ๋งํฌ ์ฐฝ ์—ด๊ธฐ </a>

// ํ•จ์ˆ˜๋กœ ์ฐฝ ์—ด๊ธฐ
function windowOpen(){
    window.open("./TIL.html", "winname", "width=300, height=400");
}

์ฐฝ ์—ด๊ณ  ๋‹ซ๊ธฐ

  • ์ด๋ฒคํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ํŠน์ • ์‹œ์ ์— ์ฐฝ์„ ์—ด ์ˆ˜ ์žˆ๋‹ค.
    • ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์™„๋ฃŒ ํ›„ ์ƒˆ ์ฐฝ ์—ด๊ธฐ, ํด๋ฆญํ•  ๋•Œ ์ƒˆ ์ฐฝ ์—ด๊ธฐ ๋“ฑ
  • window ๊ฐ์ฒด์˜ close() ํ•จ์ˆ˜๋กœ ํ˜„์žฌ ์ฐฝ์„ ๋‹ซ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ํŠนํžˆ ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ ๋œ ์ฐฝ์ด ์•„๋‹Œ JavaScript๋กœ ์ž์ฒด ๊ตฌํ˜„ํ•œ ํŒ์—…์—์„œ ํ•„์š”
// ๋ฒ„ํŠผ์œผ๋กœ ํ•จ์ˆ˜ ์ด์šฉํ•ด์„œ ์ฐฝ ๋‹ซ๊ธฐ
<button onclick="javascipt:windowClose();"> ํ•จ์ˆ˜ ์ด์šฉํ•ด์„œ ๋‹ซ๊ธฐ </button>

// ๋ฉ”์„œ๋“œ ์ด์šฉํ•ด์„œ ์ฐฝ ๋‹ซ๊ธฐ
<a href="javascript:window.close();">๋ฉ”์„œ๋“œ ์ด์šฉํ•ด์„œ ๋‹ซ๊ธฐ </a>

// ํ•จ์ˆ˜
function windowClose(){
    window.close();
}

๋ถ€๋ชจ ์ฐฝ ์ปจํŠธ๋กค

  • window ๊ฐ์ฒด์˜ opener ์†์„ฑ์„ ์ด์šฉํ•˜๋ฉด ๋ถ€๋ชจ ์ฐฝ ( ์ƒˆ ์ฐฝ์„ ์—ฐ ์ฐฝ )์„ ์ปจํŠธ๋กค ๊ฐ€๋Šฅ
    • ๋ถ€๋ชจ ์ฐฝ์— ๊ฐ’ ์ „๋‹ฌ
    • ๋ถ€๋ชจ ์ฐฝ์„ ์ƒˆ๋กœ ๊ณ ์นจ ํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€ ์ด๋™
  • opener ๊ฐ์ฒด๋Š” ๋ถ€๋ชจ์ฐฝ์˜ window ๊ฐ์ฒด

JAVASCRIPT Window ๊ฐ์ฒด ํ•จ์ˆ˜

  • alert()
    ๊ฒฝ๊ณ ์šฉ ๋Œ€ํ™”์ƒ์ž๋ฅผ ๋ณด์—ฌ์คŒ

  • confirm()
    ํ™•์ธ, ์ทจ์†Œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”์ƒ์ž๋ฅผ ๋ณด์—ฌ์คŒ

  • prompt()
    ์ž…๋ ฅ์ฐฝ์ด ์žˆ๋Š” ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๋ณด์—ฌ์คŒ

  • open()
    ์ƒˆ๋กœ์šด ์ฐฝ์„ ์˜คํ”ˆ

  • scroll()
    ์ฐฝ์„ ์Šคํฌ๋กค ํ•จ

  • find()
    ์ฐฝ์•ˆ์— ์ง€์ •๋œ ๋ฌธ์ž์—ด์ด ์žˆ๋Š”์ง€ ํ™•์ธ, ์žˆ์œผ๋ฉด true ์—†์œผ๋ฉด false

  • stop()
    ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๋ฅผ ์ค‘์ง€

  • print()
    ํ™”๋ฉด์— ์žˆ๋Š” ๋‚ด์šฉ์„ ํ”„๋ฆฐํ„ฐ๋กœ ์ถœ๋ ฅ

  • moveBy()
    ์ฐฝ์„ ์ƒ๋Œ€์  ์ขŒํ‘œ๋กœ ์ด๋™. ์ˆ˜ํ‰๋ฐฉํ–ฅ๊ณผ ์ˆ˜์ง๋ฐฉํ–ฅ์˜ ์ด๋™๋Ÿ‰์„ ํ”ฝ์…€๋กœ ์ง€์ •

  • moveTo()
    ์ฐฝ์„ ์ ˆ๋Œ€์  ์ขŒํ‘œ๋กœ ์ด๋™. ์ฐฝ์˜ ์™ผ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ”ฝ์…€์„ ์ง€์ •

  • resizeBy()
    ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ์ƒ๋Œ€์ ์ธ ์ขŒํ‘œ๋กœ ์žฌ์„ค์ •

  • resizeTo()
    ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ์ ˆ๋Œ€์ ์ธ ์ขŒํ‘œ๋กœ ์žฌ์„ค์ •

  • scrollBy()
    ์ฐฝ์„ ์ƒ๋Œ€์ ์ธ ์ขŒํ‘œ๋กœ ์Šคํฌ๋กค. ์ฐฝ์˜ ํ‘œ์‹œ์˜์—ญ์˜ ์ˆ˜ํ‰๋ฐฉํ–ฅ๊ณผ ์ˆ˜์ง๋ฐฉํ–ฅ์— ๋Œ€ํ•ด ํ”ฝ์…€๋กœ ์ง€์ •

  • scrollTo()
    ์ฐฝ์„ ์ ˆ๋Œ€์ ์ธ ์ขŒํ‘œ๋ฅผ ์Šคํฌ๋กค ์ฐฝ์˜ ์™ผ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ”ฝ์…€๋กœ ์ง€์ •

  • setTimeout()
    ์ง€์ •ํ•œ ๋ฐ€๋ฆฌ์ดˆ ์‹œ๊ฐ„์ด ํ๋ฅธ ํ›„์— ํ•จ์ˆ˜ ํ˜ธ์ถœ

  • clearTimeout()
    setTimeout ํ•จ์ˆ˜๋ฅผ ์ •์ง€

  • setInterval()
    ์ง€์ •ํ•œ ๋ฐ€๋ฆฌ์ดˆ ์ฃผ๊ธฐ๋งˆ๋‹ค ํ•จ์ˆ˜๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ˜ธ์ถœ

  • clearInterval()
    setInterval ํ•จ์ˆ˜๋ฅผ ์ •์ง€

  • eval()
    ๋ฌธ์ž์—ด์„ JavaScript ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰

JAVASCRIPT Window ๊ฐ์ฒด ๋งˆ๋ฌด๋ฆฌ

JS window ๊ฐ์ฒด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค.
์ฐฝ์„ ์—ด๊ณ  ๋‹ซ๊ณ , ์ปจํŠธ๋กคํ•˜๊ณ  ๋‹ค๋ฅธ ๋งŽ์€ ํ•จ์ˆ˜๋“ค์„ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฒƒ๋งŒ ์ž˜ ์™ธ์šฐ๋ฉด ๋  ๊ฒƒ๊ฐ™๋‹ค !!
alert(), confirm(), opener, open() ๋“ฑ์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค..ใ…Žใ…Ž ๋‡Œํ”ผ์…œ ๐Ÿ˜