returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口知道吧,就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值。

具体在项目中使用,有图有真相!(360浏览器测试成功!)

代码截图

代码

function getKjSubject2(id,name){alert("nihao");var returnValues ;var url = "<c:url value="/admin/kjsubject/KJSubjectSearchFrame.do"/>";alert("2");var returnValues = window.showModalDialog(url,"dialogWidth=200px;dialogHeight=100px");alert("得到");alert(returnValues);if(returnValues != null){document.getElementById(id).value = returnValues[0] ;  document.getElementById(name).value = returnValues[1];}
}
function doSelect(){alert("2");var obj=new Array(2);var pid = document.getElementById("pid").value;var pname = document.getElementById("pname").value;alert(pid);obj[0]=pid;obj[1]=pname;window.parent.returnValue=obj;//window.returnValue=obj;window.top.close();//window.close();     returnValues}

总结:这样一来可以实现从模式窗口向父窗口传递值的作用,这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。

在项目运行的时候,功能不可用,返回的值为null,另外,窗口也不会关闭!

window.parent.returnValue=obj;
//window.returnValue=obj;
window.top.close();
//window.close();

解决方法:

百度了一些资料,最终解决了!

参考资料如下:

http://suo.iteye.com/blog/508572

http://bbs.csdn.net/topics/310058773

一般的窗口关闭的JS如下写法:
    window.close()
但是呢,chrome,firefox等中有时候会不起作用。
改为下面的写法:
    window.open("about:blank","_self").close()   
   或者
   window.open("","_self").close()

如果是frame的时候如下写法:
   一般:window.top.close()
   改善:window.open("about:blank","_top").close()   或者 window.open("","_top").close()

其他比如window.parent.close()也是可以用类似的方法。

如果关闭按钮既可能是单独的画面,也可能是frame的一部分的时候,可以用下面的写法对应。
function closeWin() {
   try {
       window.opener = window;
       var win = window.open("","_self");
       win.close();
       //frame的时候
       top.close();
   } catch (e) {
   }
}

下面是网上比较受欢迎的文章:
function logout(){
        if(confirm("确定要退出吗?")){
                 var browserName=navigator.appName;
                 if (browserName=="Netscape"){
                       window.open('', '_self', '');
                       window.close();
                 }
                 if (browserName=="Microsoft Internet Explorer") { 
                       window.parent.opener = "whocares"; 
                       window.parent.close(); 
                 }
        }
}

FireFox需要设置:
在Firefox地址栏里输入 about:config
在配置列表中找到 dom.allow_scripts_to_close_windows
点右键的选切换把上面的false修改为true即可。
注:默认是false,是为了防止脚本乱关窗口

window.returnValue和 window.showModalDialog()和window.close()的使用方法相关推荐

  1. 阿里云服务器 window server tomcat启动 并且关闭window防火墙 配置8080端口开放还是没用

    阿里云windows server  服务器开放端口 1.远程服务器关闭windows防火墙   不需要开放端口 2.阿里云管理平台开放指定的端口  如8081 阿里云服务器   window ser ...

  2. window.open打开页面并传值,window. location.search遍历获取到的请求链接中的所有参数

    window.open打开页面并传值,遍历 window.location.search取到的url参数 1.a.js中打开OtherBankProtocol.html页面 window.open打开 ...

  3. [19]Window管理框架WMF(Window Management Framework) 5.0 VS Window管理框架WMF(Window Management Framework) 5.1

    最近笔者在研究PowerShell DSC, 我们知道PowerShell DSC是PowerShell的一部分,而PowerShell又是WMF(Window Management Framewor ...

  4. 1.20_Flink的Window全面解析\Keyed Windows\Window Assigners\Tumbling,Sliding,Session,Global,Window Function

    1.20.透过窗口看无限数据流----Flink的Window全面解析 1.20.1.Quick Start 1.20.1.1.是什么? 1.20.1.2.如何用? 1.20.1.2.1.Keyed ...

  5. window 10 专业版激活 及去掉 window defender

    window 10 专业版激活 及去掉 window defender #转载自:https://blog.csdn.net/wuhualong1314/article/details/7989204 ...

  6. linux x window system下载,linux的x window system

    为什么叫x window system:因为就英文字母来看,x是在w的后面. 当时在开发x window system的时候,就希望这个窗口界面不要与硬件有强烈的相关性,不然就等于是一个操作系统了,因 ...

  7. window.open 打开新窗口被拦截的其他解决方法

    使用window.open 打开新窗口容易被浏览器拦截,可以使用下面的方法解决 if ($("#jiedaitype").val() == "1") {     ...

  8. session may be lost when use window.open to open a new window

    在页面代码中使用window.open方法打开一个新页面,在新页面中有可能发生session丢失的现象.究其原因,是因为使用window.open方法将打开另外一个IE 的进程,因此session的丢 ...

  9. window点location(仅介绍window点location对象,不介绍属性,因标题不能含有非法字符,.用点来代替)

    文章目录 1.前言: 2.window.location介绍 3.做CTF题时遇到的代码 4.总结 1.前言: 这个是我做CG-CTF-Web-单身二十年时遇到的,这里就该题简单总结一下 2.wind ...

最新文章

  1. javascript解析json
  2. zabbix简单入门
  3. tfrecord文件生成与读取
  4. 刨根问底Objective-C Runtime(2)- Object Class Meta Class
  5. CodeForces - 1287D Numbers on Tree(dfs+stl)
  6. MongoDB 定位 oplog 必须全表扫描吗?
  7. Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置
  8. NSBundle 的理解和 mainBundle
  9. Matplotlib作业一
  10. javascript flash 弹框
  11. 华硕电脑桌面没有计算机图标 怎么弄出来,笔记本电脑开机蓝屏没桌面图标的方法...
  12. vc2005运行库彻底卸载_Visual C ++ AIO(vc运行库安装卸载工具)2019.05.21 最新版 下载 - 51下载网...
  13. zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
  14. 空气压缩机自动控制Multisim仿真
  15. win10应用商店linux,Ubuntu 20.04 LTS已可通过Windows 10应用商店获取
  16. 兄弟连,梦开始的地方~
  17. win2012 php5.2,windows2012core下php5.5兼容mssql数据库 (完美WASP环境搭建)
  18. linux中who命令显示的pts/0和(:0)(:0.0)是什么意思?
  19. 应用于3D图形制作环境的_JITStack轻量级GPU云桌面
  20. macbook 安装virtualbox ubuntu

热门文章

  1. 有个运营妹纸心算找不到数独答案,心一横干脆写代码实现
  2. 《社交网站界面设计(原书第2版)》——3.15 你是否在犯4种常见的用户onboarding错误...
  3. FreeRTOS断言“freertos\portable\rvds\arm_cm3\port.c,244“的解决方法
  4. CMOS摄像头之硬件原理
  5. 华测GPS使用的一些视屏
  6. 牛奶加湿器pcba线路板生产 超声波雾化单片机IC加湿器MCU方案
  7. FujiFilm FinePix S5Pro 机身设置参考
  8. 计算机开机配置系统怎么办,电脑开机显示硬件配置文件配置恢复怎么办?
  9. OpenRTB规范 V2.3.1
  10. 由一个简单算法想到的程序员素养问题