首页新闻找找看学习计划

IE解析相对路径的问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2015-07-07 14:30

    在jsp页面上使用window.location.href = "com/forumAction_list.do";进行页面跳转的时候,在FF浏览器和谷歌浏览器下面都没问题,但是在IE下面获取到的路径就有问题,多点击两次就会出现 com/com/com/..../forumAction_list.do这样的问题,导致我的拦截器把路径给拦截下来。

    在百度上找了很多内容,但是只有一种好使,方法如下:

  

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还是FF或者谷歌都没问题了,但是放到服务器上测试的时候不管是IE还是FF都出现访问路径出错的问题,在网上看到有人说全路径,但是我在jsp页面<head>标签中加入了<base>也不行,在路径前面加上${pageContext.request.contextPath}也不行,特来请教各位大神们,这个到底该怎么搞?实在是没办法了,度娘都被我烦死了也没个结果

李爱戴的主页 李爱戴 | 初学一级 | 园豆:2
提问于:2015-07-06 15:08
< >
分享
所有回答(3)
0

function getCurrentDir(){

  var currentUrl = location.href;

  if(currentUrl.lastIndexOf('/') ==currentUrl.length-1){

    return currentUrl;

  }else{

 

    return currentUrl.substr(0,currentUrl.lastIndexOf('/')+1);

  }

}

window.loction.href=getCurrentDir()+"com/for";

liqipeng | 园豆:1160 (小虾三级) | 2015-07-06 16:26

先谢谢你的回复,用你的方法测试了一下IE是没问题了,但是相同的问题又出现在了火狐浏览器里面

支持(0) 反对(0) 李爱戴 | 园豆:2 (初学一级) | 2015-07-06 16:42

@李爱戴: 好吧,那可能是还没找到问题的根本。

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-06 16:58
0

判断浏览器版本,用不同的方法吧

_Vegetables | 园豆:569 (小虾三级) | 2015-07-06 16:57
0

经过两天的纠结,终于把问题解决了,可能是刚开始想的有些复杂了,就像很多人说的,只要使用绝对路径就可以了,下面是解决办法:

window.location.href = "/项目名称/com/forumAction_list.do";

只需要写出项目的绝对路径即可,经测试在本地和服务器上的火狐和IE浏览器都是可以正常使用的

李爱戴 | 园豆:2 (初学一级) | 2015-07-07 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册