javascript学习(三)——常用方法(2)


一、兼容性较高的浏览器页面关闭

//关闭网页,不支持火狐(火狐返回上次浏览页面)  

//FireFox非window.open()等弹出页面,需要在地址栏中输入about:config, 然后将dom.allow_script_to_close_windows改为true才能达到想要的效果。  

function CloseWebPage() { 

    if (navigator.userAgent.indexOf("MSIE") > 0) { 

        if (navigator.userAgent.indexOf("MSIE 6.0") > 0) { 

            window.opener = null; window.close(); 

        } 

        else { 

            window.open('', '_top'); window.top.close(); 

        } 

    } 

    else if (navigator.userAgent.indexOf("Firefox") > 0) { 

        window.history.go(-1); 

    } 

    else { 

        window.close(); 

    } 



//关闭网页,不支持火狐(火狐返回上次浏览页面)

//FireFox非window.open()等弹出页面,需要在地址栏中输入about:config, 然后将dom.allow_script_to_close_windows改为true才能达到想要的效果。

function CloseWebPage() {

    if (navigator.userAgent.indexOf("MSIE") > 0) {

        if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {

            window.opener = null; window.close();

        }

        else {

            window.open('', '_top'); window.top.close();

        }

    }

    else if (navigator.userAgent.indexOf("Firefox") > 0) {

        window.history.go(-1);

    }

    else {

        window.close();

    }

}

二、window.showModalDialog()扩展

<span style="font-size:13px;">// 打开ModalDialog子窗口,并获取返回值  

function ModalDialogOpen(wUrl, wWidth, wHeight) { 

    if (window.showModalDialog != null)//IE判断  

    { 

        var returnvalue = window.showModalDialog(wUrl, "_self", "dialogWidth:" + wWidth + "px;dialogHeight:" + wHeight + "px;status:no;help:no;scrolling=yes;scrollbars=yes;center=yes"); 

        if(!returnvalue){ 

            returnvalue = window.ReturnValue;; 

        } 

        return returnvalue; 

    } 

    else { 

        this.returnAction = function(strResult) { 

            if (strResult != null) 

                return strResult; 

        } 

        window.open(wUrl, "", "width=" + wWidth + ",height=" + wHeight + ",menubar=no,toolbar=no,location=no,scrollbars=yes,status=no,modal=yes"); 

    } 



// 关闭ModalDialog子窗口,并返回值  

function ModalDialogClose(val) { 

    if (window.showModalDialog != null)//IE判断  

    { 

        if (navigator.userAgent.indexOf("Chrome") > 0) { 

            // Chrome支持  

            window.opener.ReturnValue = val; 

        } else { 

            parent.window.returnValue = val; 

        } 

        window.close(); //firefox不支持  

    } 

    else { 

        window.opener.returnAction(val); 

        top.close(); //IE和FireFox都支持  

    } 



</span> 

<span style="font-size:13px;">// 打开ModalDialog子窗口,并获取返回值

function ModalDialogOpen(wUrl, wWidth, wHeight) {

    if (window.showModalDialog != null)//IE判断

    {

        var returnvalue = window.showModalDialog(wUrl, "_self", "dialogWidth:" + wWidth + "px;dialogHeight:" + wHeight + "px;status:no;help:no;scrolling=yes;scrollbars=yes;center=yes");

        if(!returnvalue){

            returnvalue = window.ReturnValue;;

        }

        return returnvalue;

    }

    else {

        this.returnAction = function(strResult) {

            if (strResult != null)

                return strResult;

        }

        window.open(wUrl, "", "width=" + wWidth + ",height=" + wHeight + ",menubar=no,toolbar=no,location=no,scrollbars=yes,status=no,modal=yes");

    }

}

// 关闭ModalDialog子窗口,并返回值

function ModalDialogClose(val) {

    if (window.showModalDialog != null)//IE判断

    {

        if (navigator.userAgent.indexOf("Chrome") > 0) {

            // Chrome支持

            window.opener.ReturnValue = val;

        } else {

            parent.window.returnValue = val;

        }

        window.close(); //firefox不支持

    }

    else {

        window.opener.returnAction(val);

        top.close(); //IE和FireFox都支持

    }

}

</span>

上一篇:EL表达式运算符


下一篇:Android为TV端助力:(转载)修改TextView字体样式