发现有问题的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。
这时就可以正常访问了
在同事的其它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。
这时就可以正常访问了
本文介绍了一种解决IE浏览器特定版本中出现的跨域访问问题的方法。在B应用尝试通过A应用显示详细页面时遇到JS脚本无法运行的情况。通过在A应用中设置过渡页面并使用iframe的方式成功解决了该问题。

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



