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

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

//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>

javascript学习(三)——常用方法(2)的更多相关文章

  1. JavaScript学习三

    2019-05-30 20:38:50 逻辑运算符 && || ! !如果对非布尔值取反,则将会把数值变成布尔值,然后再取反 隐式类型转化 为任意的数据类型做两次非运算,既可将其转换成 ...

  2. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

  3. 学习javascript数据结构(三)——集合

    前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...

  4. JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别

    JavaScript:学习笔记(7)——VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用 ...

  5. JavaScript学习记录三

    title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  6. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

  7. javascript学习 真正理解DOM脚本编程技术背后的思路和原则

    本文学习来源于<javascriptDOM编程艺术>仅作笔记 学会怎样才能利用DOM脚本编程技术以一种既方便自己更体贴用户的方式去充实和完善你们的网页. 循序渐进:从最核心的内容开始,逐步 ...

  8. JavaScript学习总结(二)

    JavaScript学习总结(二) ---- 对象 在JavaScript中,几乎用到的每个js都离不开它的对象.下面我们深入了解一下js对象. js中对象的分类跟之前我们学过的语言中函数的分类一样, ...

  9. JavaScript学习总结 之对象

    JavaScript学习总结(二) ---- 对象 在JavaScript中,几乎用到的每个js都离不开它的对象.下面我们深入了解一下js对象. js中对象的分类跟之前我们学过的语言中函数的分类一样, ...

  10. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

随机推荐

  1. python使用h5py读取mat文件数据,并保存图像

    1 安装h5py sudo apt-get install libhdf5-dev sudo pip install h5py 假设你已经安装好python和numpy模块 2 读取mat文件数据 i ...

  2. Asp.net实现下拉框和列表框的连动

    走过了牛腩老师的新闻发布系统,漫游过了孙鑫老师的Html,在427沐浴第一缕冬日阳光的美丽月底,小编迎来了北大青鸟的Asp.net,北大青鸟,高大上的赶脚有么有,哈哈哈,开始了小编的.net之旅. 首 ...

  3. Ajax及jQuery学习

    AJAX(Asynchronous JavaScript and XML),异步的javaScript与XML AJax中一个重要的对象是XMLHttpRequest. function ajaxSu ...

  4. jQuery 异步上传插件 Uploadify302 使用 (JavaEE Spring MVC)

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.而且是Ajax的,省去了自己写Ajax上传功能的麻烦.不过官方提供的实例时php版本的,本文将详细介绍Uploadify ...

  5. android打包方法超过65k错误

    近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持. 如果你是一名幸运的Android应用开发者,正在 ...

  6. UNIX环境高级编程——IPC总结

    IPC主要包括:管道,消息队列,信号量,共享内存, 套接字(SOCKET). 一.IPC对象的持久性 每种IPC机制都会借助一种数据结构,这种数据结构的实例称为该IPC机制的对象(相应的,用于同步互斥 ...

  7. 四大组件之Activity小结

    一大波面试就要靠近,赶紧总结总结一些基础问题 1.Activity的概念 是Android应用层开发的四大组件之一,主要负责和用户交互部分,有自己的生命周期,在其上可以布置按钮,文本框等各种控件,简单 ...

  8. phantomjs的使用+Java代码+依赖js(兼容Linux和windows版本)

    1.  在使用phantomjs的时候需要下载phantomjs,网上有window版本和Linux版本.将phantomjs放在Linux上的指定位置之后(如下面的/home/tpl/phantom ...

  9. 【FPGA学习】Verilog之加法器

    在fpga工程应用设计中,随处可见加法器,乘法器等等.现在将一些常用模块和心得体会先记录下来,以便日后使用. 一位半加器: module halfadder(cout,sum,a,b); output ...

  10. 【leetcode】经典算法题-Counting Bits

    题目描述: 给定一个数字n,统计0-n之间的数字二进制的1的个数,并用数组输出 例子: For num = 5 you should return [0,1,1,2,1,2]. 要求: 算法复杂复o( ...