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

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

//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. 5. React 组件的协同使用 组件嵌套和Mixin

            组件是React的核心,构建大型项目时多个组件之间需要进行协同使用.可以从横向和纵向两个角度来实现组件的协同使用,纵向的协同使用就是组件嵌套,横向的协同使用就是Mixin(抽取公共方法 ...

  2. Simple tutorial for using TensorFlow to compute a linear regression

    """Simple tutorial for using TensorFlow to compute a linear regression. Parag K. Mita ...

  3. Android优化之ArrayMap

    ArrayMap的介绍 官方对ArrayMap也有说明:它不是一个适应大数据的数据结构,相比传统的HashMap速度要慢,因为查找方法是二分法,并且当你删除或者添加数据时,会对空间重新调整,在使用大量 ...

  4. UNIX网络编程——使用select函数编写客户端和服务器

    首先看原先<UNIX网络编程--并发服务器(TCP)>的代码,服务器代码serv.c: #include<stdio.h> #include<sys/types.h> ...

  5. Android进阶(六)文件读操作

    Android中文件的读写操作与Java中文件的读写操作是有区别的.在Java中,读文件操作如以下代码所示: public class FileRead { private static final  ...

  6. Android官方命令深入分析之Device Monitor

    Android Device Monitor是一个提供了图形化界面的可以对Android应用进行调试和分析的独立的工具.Monitor工具不需要IDE环境,比如Android Studio.包括以下工 ...

  7. Gradle 1.12 翻译——第十二章 使用Gradle 图形用户界面

    有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...

  8. ios swift 实现饼状图进度条,swift环形进度条

    ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...

  9. 【Android 多媒体开发】 MediaPlayer 网络视频播放器

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3889514 ...

  10. XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)

    前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...