Posted on 2008-09-02 16:41
Qzi 阅读(315)
评论(0) 编辑 收藏 所属分类:
错误总结 、
Web一般性问题
1 String lastUrl = request.getHeader("Referer");
不好意思,下面的说错了(所以都标红了),不过的确这个方法在有框架的时候性能还不清楚,
貌似是:
在多个框架中,IE的情况是:如果将在frame触发的链接显示在frame2中,frame2的Referer就不会改变。firefox的情况是,会变,所以firefox处理的更好。
请有识之士教导。
使用到方法来获得上一次路径的请注意了,如果页面涉及到框架frame的话,请留意firefox与IE的不同。
假如页面具有整个页面,上,左,右三个frame四个所谓的windows,假设每一个frame都有自己地址栏,当然真实的地址栏只有整个页面的一个。
我出现的情况是:
1)firefox中:一个右frame的jsp页面进入的struts的action,在这个action使用这个函数,能够获得右frame地址栏原来的字符串。在右frame页面里使用这个函数,也能够获得右frame原来的地址栏的字符串。
算是比较正常吧,获得所谓的referer的字符串嘛。
2)IE中:一个右frame的jsp页面进入的一个action,使用这个函数,获得的是整个页面的地址栏原来的字符串。在右frame页面里使用这个函数,却获得的是右frame地址栏原来的字符串。
这样就不正常啦,我在action里使用获得的竟然是整个页面的地址栏原来的字符串,那样我new ActionForward(这个url)的时候,就会出现框架嵌套框架啦。
这些问题应该是跟浏览器的实现有关。
我用这个函数主要是想实现返回上一步的功能。但是上一步的路径获得那么可预测,这种方法获得之前页面看来是不能信赖地用的。