JAVASCRIPT_Window ๊ฐ์ฒด
๐ 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 ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ์ ์ ๋ณด๊ฐ ๋ด์ฅ๋ ๊ฐ์ฒด์ด๋ค.
- 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
-
location ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ํ์ด์ง ์ฃผ์ ( URL )์ ๊ด๋ จ๋ ์ ๋ณด๋ค์ ์ ์ ์๋ค.
- history.href
ํ๋กํผํฐ์ ๊ฐ์ ํ ๋นํ์ง ์์ผ๋ฉด ํ์ฌ URL์ ์กฐํํ๊ณ ๊ฐ์ ํ ๋นํ๋ฉด ํ ๋น๋ URL๋ก ์ด๋ํ๋ค. - location.reload()
ํ์ฌ ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์นจ ( ์์ ํ์ ๋ง์ด ์ฌ์ฉํ๋ค. ๋ณํ ๊ฒ์ ๋ฐ์ ์ํค๊ธฐ ์ํด )
- history.href
-
history ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ์ ํ์ด์ง ์ด๋ ฅ์ ๋ด๋ ๊ฐ์ฒด์ด๋ค.
- history.back() / history.forward()
๋ธ๋ผ์ฐ์ ๋ค๋ก๊ฐ๊ธฐ, ์์ผ๋ก ๊ฐ๊ธฐ ๋ฒํผ๊ณผ ๊ฐ์ ๋์
- history.back() / history.forward()
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() ๋ฑ์ด ๋ ๊ฒ ๊ฐ๋ค..ใ
ใ
๋ํผ์
๐