[url]http://dingjun1.iteye.com/blog/426658[/url]



发现有问题的IE版本:6.0.2900.2180.xpsp_sp2_rtm.040803-2158
在同事的其它IE下没有发现这个问题(也许是设置不同)

由于系统比较大,所以很多子模块都单独运行,有时需要从子应用跳转到主应用,这时就出现了跨域访问的问题。
B应用中有一个查看详细页面,需要通过A应用来显示。B应用在服务端跳转到A应用后,A应用页面上的JS脚本不能正常运行。

情景:
B应用文件:
list.jsp,
SSOServlet.java,

A应用文件:
detail.jsp

点击B应用list.jsp中的链接,访问同应用中SSOServlet。在SSOServlet获取当前登录的信息和要访问A应用中的页面路径信息。
然后在服务端response.sendRedirect("http://A.com/login.do?encode(username,pwd)&url=detail.jsp");

由于detail.jsp使用了JS脚本,跳转后JS没有权限运行。

解决办法:
首先跳转到A应用上的transition.jsp,在transition.jsp页面中有一个iframe,iframe的src指向detail.jsp。
这时就可以正常访问了