------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------
此问题是在公司同事(前辈)的帮助下解决的,自己也有看,但毫无成果...希望此篇博客可以帮助和我一样遇到此问题的朋友...
环境: web1 发布在服务器A上
web2 发布在服务器B上
由web1里的iframe页面,src 链接的是web2的页面,并且web2中也含有一个iframe id 为form1,现在要求web2中的这个页面要触发web1里的iframe页面的关闭
测试:IE9 ok 但低于IE9 都有问题,
top.window.close();
这句代码会直接报错,无权限...
解决步骤:
思路:抓取web2中的iframe form1 ,让它指向上面,并且让它去掉web1中的某个页面,实现关闭
但此方法有个缺陷,及你并需要知道web1的发布地址
(1) web2中的代码
//2013-06-07 跨域调用aspx文件
function funGetDomJs(domainValue){
if(domainValue == ""){
alert("关闭失败!");
return;
}
var form1 = $ ("#form1") [0];
form1.target = "_top" ;
form1.action = domainValue + "Logout.aspx";
form1.submit();
}
(2)web1中新增Logout.aspx页面,只需在前台这样即可
<head runat="server">
<title></title>
<script src="script/jQuery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
top.window.close();
</script>
</head>
就可以实现关闭了
我曾试过,让web2去调用web1的js文件,是可以掉的到的,代码也能跑,但仍然是js报错--无访问权限......
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------