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

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

//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. MyBatis与MySQL交互

    MyBatis是我接触到的第一个框架,下面谈一谈我第一次使用MyBatis时的感悟. 首先是一些准备工作 下载相关的jar包.到GitHub上就行,上面有全面和完整的jar文件 在eclipse上安装 ...

  2. linux iio子系统

    //============================================================================\\ || 系            统:W ...

  3. SpriteBuilder&Cocos2D使用CCEffect特效实现天黑天亮过度效果

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在动作或RPG类游戏中我们有时需要天黑和天亮过度的效果来完成场 ...

  4. Cytoscape源码下载地址和编译办法

    开发环境:Windows2008 R2 64位+Jdk1.7+Maven3.2.3 前提条件:安装好JDK1.7到C:\Program Files\Java\jdk1.7.0_67,下载好Maven并 ...

  5. listview下拉刷新上拉加载扩展(一)

    前两篇实现了listview简单的下拉刷新和上拉加载,功能已经达到,单体验效果稍简陋,那么在这篇文章里我们来加一点效果,已达到我们常见的listview下拉刷新时的效果: 首先,在headview的x ...

  6. 【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 | ARM 寻址)

    : 12MHz 晶振 对应 405 ~ 532 MHz 处理速度; -- : 16K 指令缓存, 16K 数据缓存; -- : 32KB 指令缓存, 32KB 数据缓存; (3) 内存接口对比 : 提 ...

  7. 如何在Cocos2D 1.0 中掩饰一个精灵(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并 ...

  8. ROS_Kinetic_14 ROS工具roswtf的基本使用方法等

    ROS_Kinetic_14 ROS工具roswtf的基本使用方法 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/Getting%20started%20with ...

  9. Socket编程实践(3) --Socket API

    socket函数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, ...

  10. 主线程中也不绝对安全的 UI 操作

    从最初开始学习 iOS 的时候,我们就被告知 UI 操作一定要放在主线程进行.这是因为 UIKit 的方法不是线程安全的,保证线程安全需要极大的开销.那么问题来了,在主线程中进行 UI 操作一定是安全 ...