你的位置:首页 > Java教程

[Java教程]使用window.location.href跳转页面在IE和FF浏览器中路径不一致的问题总结


  上周五的时候遇到一个问题,平时做项目的时候一直使用的是火狐浏览器,上周完成了一个小论坛的功能,因为访问论坛是不需要的用户登录的,只有发帖和回复的时候才需要用户登录,所以就在系统中加了一个拦截器,发帖时候如果没有登录就跳转到登录页面,功能完成以后在火狐浏览器下面使用完全没问题,平时很少使用IE浏览器,所以也没有在IE下面测试就直接放到服务器上测试了,在服务器上测试的时候还是使用的火狐,也没什么问题,但是我的一个同事去测试的时候就出现了问题,他是使用的IE浏览器,访问的时候明明是不需要用户登录的地方也跳转到了登录页面,功能完全都乱了,一直在跳转登录页面,就开始第一下进入不会出现登录页面,然后不管点击什么按钮都是登录页面。

  针对上面的问题我就开始调,开始的时候以为是我的拦截器的问题,但是在使用火狐调的时候完全没问题,然后我就使用IE11开始测试,debug拦截器,然后就发现了一个问题,第一次进入的时候拦截器获取到的路径是/com/action.action,但是点击下一个连接的时候就变成了/com/com/action.action,每点击一个连接都会在方法的前面再加上一个/com,/com是我struts2的命名空间,但是在FF下面测试的时候拦截器每次获取的路径都是/com/action.action,所以在FF下面运行时没问题的。

  然后就开始去问度娘怎么解决,度娘给出的答案是IE浏览器在解析window.location.href = url的时候,如果url是相对路径,那么IE浏览器解析的时候是会出现问题的,不能正确访问,由于当时比较着急,所以也就没想那么多,就继续针对这个问题再网上找解决办法,然后就发现了下面的方法:

function getContextPath() {  var pathName = document.location.pathname;  var index = pathName.substr(1).indexOf("/");  var result = pathName.substr(0,index+1);  return result; }var path = getContextPath();window.location.href = path+"/com/forumAction_list.do";

使用这种方式之后在本地测试不管是IE还是火狐或者谷歌都没问题了,以为问题解决了,然后就在服务器上测试,但是到了服务器上之后所有的浏览器全部不好使了,都是点击一下就会出现登录页面,很郁闷有没有,然后就继续在网上找答案,但是很多都是直接复制上面的方法,根本没有什么实质性的作用,然后在博客园还有CSDN发帖询问,但是也没有得到什么有用的信息,可能大神们都在code/code/code.......,然后就一直拖到了今天,重新看别人发帖询问时的回复,有人说是使用绝对路径可以解决,然后就抱着试一试的心态改了一下,然后就成功了。

  解决办法就是使用绝对路径,所以上面的url就可以改成“/项目名称/xxx/xxxAction_xxx.do”,经测试在服务器和本地的IE和火狐还有谷歌都是适应的,在此记录一下,备忘一下,也希望能帮到其他遇到这个问题的人,有问题的地方欢迎大神们指出。

  




怎样去丹麦旅游去丹麦哪个旅行社好丹麦旅游攻略大全丹麦旅游攻略去丹麦旅游要多少钱2015春节广东跨年演唱会去哪看?广东跨年狂欢夜哪里最热闹? 2015广东卫视跨年狂欢夜在哪举行?广东卫视跨年狂欢夜演出有哪些? 2015冬天岭南印象园有什么好玩的?1月广州岭南印象园有什么活动? 深圳东部华侨城冬天去玩什么?东部华侨城冬天有什么好玩的? 探秘朝鲜时装秀 "神奇国度"里的"平壤style"(全文) 深圳北到长沙南有高铁吗? 乘森林小火车 饱览双龙峡秋色 APEC限行ing 放弃自驾坐上马车游津城 长隆水上乐园暑期特价?广州长隆水上乐园特价门票在哪买? 2015长隆冲浪音乐节攻略?广州长隆冲浪音乐节门票多少钱? 广州长隆冲浪音乐节8月活动?长隆冲浪音乐节有什么好玩的? 高明龙涛湾有烧烤炉吗?龙涛湾烧烤怎么收费? 厦门有哪些便宜又好玩的地方?最好是不要门票的 厦门有什么特色小吃? 2015年端午节丽江天气怎么样? 云南和海南去哪个旅游好? SQCB7M1R7BAJME\500 Datasheet SQCB7M1R7BAJME\500 Datasheet AQ142M331KAJME Datasheet AQ142M331KAJME Datasheet 06032U150JAT2A Datasheet 06032U150JAT2A Datasheet 深圳跟团到惠州旅游 深圳跟团到惠州旅游 深圳跟团到惠州旅游 深圳到惠州三天游 深圳到惠州三天游 深圳到惠州三天游 深圳南昆山旅游价格 深圳南昆山旅游价格 深圳南昆山旅游价格