메모

[자바스크립트] window.open 커스텀

네코냥이 2014. 12. 9. 14:51

동료의 커스텀 함수...



var util= {

    winOpen: function (url, title, opt, params) {

        // opt : left , top , width , height , toolbar , menubar , scrollbars , status , resizable 

        // toolbar , menubar , scrollbars , status , resizable은 Default값을 가짐


        var optStr = "";

        if (opt.width != null && opt.height != null) {

            var left = screen.width / 2 - (Number(opt.width) / 2);

            var top = screen.height / 2 - (Number(opt.height) / 2);

            optStr += "left=" + left + ",top=" + top;

        }


        for (var o in opt) {

            optStr += "," + o.toString() + "=" + opt[o].toString();

        }


        var paramStr = "";

        var cnt = 0;

        for (var p in params) {

            if (cnt > 0) { paramStr += "&"; }

            else { paramStr += "?"; }

            paramStr += p.toString() + "=" + params[p].toString();

            cnt++;

        }

        cnt = 0;


        if (optStr.toLowerCase().indexOf("toolbar") == "-1") { optStr += ",toolbar=no"; }

        if (optStr.toLowerCase().indexOf("menubar") == "-1") { optStr += ",menubar=no"; }

        if (optStr.toLowerCase().indexOf("status") == "-1") { optStr += ",status=no"; }

        if (optStr.toLowerCase().indexOf("scrollbars") == "-1") { optStr += ",scrollbars=no"; }

        if (optStr.toLowerCase().indexOf("resizable") == "-1") { optStr += ",resizable=no"; }


        window.open(url + paramStr, title, optStr);

    }

}