主页面用window.showModalDialog的时候,如果直接打开其它系统的页面,这时候别人的页面在window.returnValue=1;这样返回值的时候,主页面是取不到返回值的,原因就是因为跨域了.
解决办法如下:
1,首先主页面testMain.jsp先打开一个中转页面,
Java代码
<html>
<head>
</head>
<body>
<input type="button" value="test" onclick="test();"/>
</body>
</html>
<script type="text/javascript">
function test() {
var paramObj = new Object();
//弹出模式窗口,集成页面
var ret_Value = window.showModalDialog("testFrame.jsp",paramObj,"scroll:no;resizable:yes;Minimize:no;Maximize:yes;dialogHeight:700px;dialogWidth:1024px;");
alert("返回值---" + ret_Value);
}
</script>

2,中转页面testFrame.jsp中要有一个iframe,然后把其它系统要打开的页面(这里的例子就是http://192.168.1.120:8080/test.jsp)放在这个iframe中,这里用一个FORM来存放要提交的数据,代码如下:
Java代码
<html>
<body>
<form id="page_interface_form" name="page_interface_form" method="post">
<input type="hidden" value="测试数据11111111" name="data" />
</form>
<iframe name="page_interface_frame" width="100%" height="100%" ></iframe>
</body>
</html>
<script type="text/javascript">
//嵌入集成页面
call_page_interface();
//在iframe中调用页面集成接口
function call_page_interface(){
document.getElementById("page_interface_form").action = "http://192.168.1.120:8080/test.jsp";
document.getElementById("page_interface_form").target = 'page_interface_frame';
document.getElementById("page_interface_form").submit();
}
</script>

亲测可用

参考:http://download.csdn.net/download/hefang0711/7239985

window.returnValue跨域传值问题[转]的更多相关文章

  1. js跨域传值,兼容ie8以上

    js跨域传值,兼容ie8以上 事先说明,此方法并不支持ie8,如果想要支持ie8的话,需要用这种思路(来自微软): if (window.addEventListener) { window.addE ...

  2. window.name 跨域

    跨域的由来 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但是我们常常会遇到无法避免跨域的情况,如普通文章站点(article.xxx.com)需要评论,而评论站点却在chea ...

  3. JS window.name跨域封装

    JS window.name 跨域封装 function CrossDomainName(target, agent, callback, security) { if (typeof target ...

  4. window.name跨域

    window.name? 每一个页面都有一个自己的window,而window.name是window的名字. window.name跨域原理 window对象有个name属性,该属性有个特征:即在一 ...

  5. ajax异步请求/同源策略/跨域传值

    基本概念 Ajax 全称是异步的 JavaScript 和 XML . 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...

  6. HTML5 window/iframe跨域传递消息 API

    原文地址:HTML5′s window.postMessage API 在线示例:Using HTML5's window.postMessage(请打开控制台看日志) 原文日期: 2010年09月0 ...

  7. (二)文档请求不同源之window.name跨域

    一.基本原理 window.name不是一个普通的全局变量,而是当前窗口的名字.这里要注意的是每个iframe都有包裹它的window,而这个window 是top window的子窗口,而它自然也有 ...

  8. (二)文档请求不同源之window.postMessage跨域

    一.基本原理 HTML5为了解决跨域,引入了跨文档通信API(Cross-document messaging).这个API为window对象新增了一个window.postMessage方法,允许跨 ...

  9. Javascript 使用postMessage对iframe跨域传值或通信

    实现目标:两个网站页面实现跨域相互通信 当前例子依赖于 jQuery 3.0 父页面代码:www.a.com/a.html <iframe id="myIframe" src ...

随机推荐

  1. serialVersionUID的作用

    Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的seri ...

  2. 类:String,Math,DateTime,Random

    string类: 判断邮箱格式是否正确: 1.有且只能有一个@  2.不能以@开头  3.@之后至少有一个.  4.@和.不能靠在一起  5.不能以.结尾 math 类: math.ceiling() ...

  3. 请求网络get

    package com.baidu.net; import java.io.IOException; import org.apache.http.HttpEntity;import org.apac ...

  4. 编译.NET项目的时候报错错误“ResGen.exe”已退出,代码为 -1073741701

    解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd)         //有人说要使用vs tools 里面的控制台 亲试无卵用 3. ...

  5. Mongodb优化

    本文将从各个层面讲述Mongodb的优化方法

  6. C#生成随机字符串(数字,字母,特殊符号)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. OC 相关

    1.OC runtime的理解[转载] http://www.csdn.net/article/2015-07-06/2825133-objective-c-runtime/1

  8. winfrom自定义控件

    c#TabControl控件左边选项卡左边显示,文字横向显示 http://blog.csdn.net/kasama1953/article/details/52133713 WinForm中,给Te ...

  9. vue 2.0版本----》常用代码说明

    ------------------------------------------代码不显示-------------------------------------------- [v-cloak ...

  10. Sql Server Analysis Service 转换为UnknownMember的正确设置 (转载)

    转载: http://www.cnblogs.com/OpenCoder/p/4754447.html#commentform 在SSAS中事实表数据被归类到为UnknownMember 的时候分为两 ...