在A系统下成功登陆后,利用js动态创建一个隐藏的iframe,通过iframe的src属性将A域下的cookie值座位get参数重定向到B系统下b.aspx页面上
var _frm = document.createElement("iframe");
_frm.style.display="none";
_frm.src="http://b.com/b.jsp?test_cookie=xxxxx";
document.body.appendChild(_frm);
在B系统的b.aspx页面中来获取A系统中所传过来的cookie值,并将所获取到值写入cookie中,这样就简单的实现了cookie跨域的访问;不过这其中有个问题需要注意,就是在IE浏览器下这样操作不能成功,需要在b.aspx页面中设置P3P HTTP Header就可以解决了(具体详情请参考:http://www.w3.org/P3P/),P3P设置代码为:
/*
*也可以在html加入标记
<meta http-equiv="P3P" content='CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"'>
*/
Response.AppendHeader("P3P", "CP='IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA'");
本文介绍了一种通过动态创建隐藏iframe实现A系统向B系统跨域传递cookie的方法,重点讲解了在IE浏览器下如何通过设置P3P头解决兼容性问题。
1720

被折叠的 条评论
为什么被折叠?



