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

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

//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. scala学习笔记2(类,继承,抽象类)

    class Person{ // _ 是占位符; var name : String = _ val age : Int = 27 // private[this] 定义的内容无法外部使用,起到保护作 ...

  2. VS2010创建和调用动态链接库

    当我们开发一个产品的时候,我们并不想把源码公布给对方,除了给对方提供exe可执行文件外,我们还可以生成动态链接库,供程序调用,方便二次开发. 下面我将简单梳理一下如何创建和调用动态链接库,方便大家程序 ...

  3. Struts2进阶(一)运行原理及搭建步骤

    Struts2进阶(一)运行原理 Struts2框架 Struts2框架搭建步骤 致力于web服务,不可避免的涉及到编程实现部分功能.考虑使用到SSH框架中的Struts2.本篇文章只为深入理解Str ...

  4. Android5.1设备无法识别exFAT文件系统的64G TF卡问题

    64G TF卡刚买回来的时候默认exFAT文件系统,在电脑端(XP和WIN7)可以识别,但在我们Android5.1S设备无法识别,采用guiformat工具格式化为FAT32文件系统后才可以正常识别 ...

  5. printf函数压栈解惑

    最近看到一些程序员的笔试题目,经常会考到printf函数的参数压栈问题,总体来讲就是参数从右向左依次压栈,再出栈,但是今天看到一个看似很简单的题目,却一直找不到头绪.题目如下: #include &l ...

  6. UNIX环境高级编程——记录上锁(fcntl函数)以及死锁检测

    一.记录锁 record locking 功能:当一个进程正在读或修改文件的某个部分时,它可以阻止其它进程修改同一文件区. 字节范围锁 byte-range locking 二.历史 flock函数, ...

  7. 青年菜君与小农女送菜商业模式PK

    青年菜君与小农女送菜商业模式PK   对比项 青年菜君 小农女送菜 优势 劣势 开业 2014年3月3日 2013年9月 渠道 地铁捕获用户 写字楼配送 送货 来店面自取 送货到写字楼 菜君 1.减少 ...

  8. C++ Primer 有感(标准库set类型)

    set容器只是单纯的键的集合,键必须为一.set容器不支持下标操作,而且没有定义maped_type类型.在set容器中,value_type不是pair类型,而是与key_type类型相同的类型. ...

  9. C语言的布尔类型(_Bool)

    也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为"_Bool". 在此之前的C语言中,使用整型int来表示真假.在输入时:使用非零值表示真:零值 ...

  10. Rust语言

    Rust语言 https://doc.rust-lang.org/stable/book/ http://www.phperz.com/article/15/0717/141560.html Rust ...