๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€/JavaScript

[ex17] window

ex17

์ฐฝ ์ œ์–ด 

 

window ๊ฐ์ฒด
- BOM ์ตœ์ƒ์œ„ ๊ฐ์ฒด
- ์œ ์ผ > ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด
- window ๊ฐ์ฒด ์กฐ์ž‘ > ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ์กฐ์ž‘
- ์—ด๊ธฐ, ๋‹ซ๊ธฐ, ์ด๋™ํ•˜๊ธฐ, ์‚ฌ์ด์ฆˆ ์กฐ์ ˆ ๋“ฑ..

 

window.open(); //๋ถ€๋ชจ์ฐฝ > ์ž์‹์ฐฝ ์ƒ์„ฑ
window.close(); //์ž๊ธฐ ์Šค์Šค๋กœ ์ข…๋ฃŒ

window.open(URL, Name, Options)
1. URL: ์ƒˆ์ฐฝ์˜ URL
2. Name: ์ƒˆ์ฐฝ ์ด๋ฆ„
3. Options: ์˜ต์…˜๋“ค..

 

๋ถ€๋ชจํŽ˜์ด์ง€(ex17_window)

๋”๋ณด๊ธฐ
<body>
    <!-- ex17_window.html -->
    <h1>window ๊ฐ์ฒด</h1>
    <form name="form1">
        <fieldset>
            <legend>์ฐฝ ์ œ์–ด</legend>
            <input type="button" name="btn1" value="์ž์‹์ฐฝ ๋„์šฐ๊ธฐ">
            <input type="button" name="btn2" value="์ž์‹์ฐฝ ๋‹ซ๊ธฐ">
            <hr>
            <input type="button" name="btn3" value="์ž์‹์ฐฝ ์กฐ์ž‘ํ•˜๊ธฐ">
        </fieldset>

        <fieldset>
            <legend>์•„์ด๋””</legend>
            <input type="text" name="txtid" size="10">
            <input type="button" value="์ค‘๋ณต๊ฒ€์‚ฌ" name="btncheck">
        </fieldset>
    </form>

    <script>

        var btn1 = window.document.form1.btn1;
        var btn2 = window.document.form1.btn2;
        var btn3 = window.document.form1.btn3;
        var btncheck = window.document.form1.btncheck;

        btn1.onclick = m1;
        btn2.onclick = m2;
        btn3.onclick = m3;
        btncheck.onclick = m4;

        var child ='';

        function m1() {
            //์ž์‹ ํŽ˜์ด์ง€์˜ window ์ฐธ์กฐ ๊ฐ์ฒด
            child = window.open('./ex17_child.html', 'child', 'width=300 height=200 left=1000 top=30');

            // alert(child); //[object Window]
        }

        function m2() {
            //์ž์‹์ฐฝ ๋‹ซ๊ธฐ
            //window.close(); > X
            child.close();
        }

        function m3() {
            child.document.form1.txt1.value = '๋ถ€๋ชจ์ฐฝ์—์„œ ์™”์Šต๋‹ˆ๋‹ค.';
        }

        function m4() {
            window.open('ex17_idcheck.html', 'check', 'width=300, height=300')
        }

    </script>
</body>
</html>

 

์ž์‹ํŽ˜์ด์ง€(ex17_child)

- ๋ถ€๋ชจ์ฐฝ์˜ ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ > ๋ถ€๋ชจ ํŽ˜์ด์ง€์˜ window ๊ฐ์ฒด๊ฐ€ ํ•„์š”
- opener: ์ž๊ธฐ ์ž์‹ ์„ ์—ฐ ๊ธฐ์กด ์ฐฝ์˜ window ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ

๋”๋ณด๊ธฐ
<body>
    <!-- ex17_child.html -->
    <h1>์ž์‹ ํŽ˜์ด์ง€</h1>
    <form name="form1">
        <input type="button" value="์ฐฝ๋‹ซ๊ธฐ" name="btn1">
        <hr>
        <input type="text" name="txt1">
        <hr>
        <input type="button" value="๋ถ€๋ชจ์ฐฝ ์กฐ์ž‘ํ•˜๊ธฐ" name="btn2">
    </form>

    <script>
        var btn1 = window.document.form1.btn1;
        var btn2 = window.document.form1.btn2;

        btn1.onclick = m1;
        btn2.onclick = m2;

        function m1() {
            window.close();
        }

        function m2() {
            //๋ถ€๋ชจ์ฐฝ์˜ ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ
            //๋ถ€๋ชจ ํŽ˜์ด์ง€์˜ window ๊ฐ์ฒด๊ฐ€ ํ•„์š”!!!
            //opener: ์ž๊ธฐ ์ž์‹ ์„ ์—ฐ ๊ธฐ์กด ์ฐฝ์˜ window ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ
            opener.document.form1.btn3.value = '์ž์‹์ฐฝ์—์„œ ๋ฒ„ํŠผ์˜ ๋ผ๋ฒจ์„ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.'
        }

    </script>
</body>
</html>

 

์ž์‹ํŽ˜์ด์ง€(ex17_idcheck)

๋”๋ณด๊ธฐ
<body>
    <!-- ex17_idcheck.html -->
    <form name="form1">
        <label>
            ์•„์ด๋””:
            <input type="text" name="txtid" size="10">
            <input type="button" value="์ค‘๋ณต๊ฒ€์‚ฌ" name="btncheck">
        </label>
        <hr>
        <input type="button" value="์‚ฌ์šฉํ•˜๊ธฐ" name="btnok">
        <input type="button" value="์ฐฝ๋‹ซ๊ธฐ" name="btncancel">
    </form>
    <script>
    var btnok = window.document.form1.btnok;
    var txtid = window.document.form1.txtid;

    btnok.onclick = m1;

    function m1() {
        //1. ์ž์‹ ์˜ ํ…์ŠคํŠธ๋ฐ•์Šค > ๋ถ€๋ชจ ํ…์ŠคํŠธ๋ฐ•์Šค์— ๋ณต์‚ฌ
        opener.document.form1.txtid.value = txtid.value;            
        //2. ์ฐฝ๋‹ซ๊ธฐ
        window.close();
    }
    </script>
</body>