js中如何获取项目根目录

yl_521 2016-12-21 03:21:40
下面这个代码是网上找到的获取项目根目录的方法,在本地调试时是可以的。
但是在网站发布到服务器后,这个方法就不行了,因为发布后根目录不带项目名,所以必须用return (localhostPath);才可以。
但每次发布后要调整这个返回值很麻烦,怎么判断一下才可以让这个方法不论在本地调试还是发布后都好使呢?

function getRootPath() {
//获取当前网址,如: http://localhost:8088/test/test.jsp
var curPath = window.document.location.href;
//获取主机地址之后的目录,如: test/test.jsp
var pathName = window.document.location.pathname;
var pos = curPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8088
var localhostPath = curPath.substring(0, pos);
//获取带"/"的项目名,如:/test
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
return (localhostPath + projectName);//发布前用此
}
...全文
1145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 楼主 yl_521 的回复:
下面这个代码是网上找到的获取项目根目录的方法,在本地调试时是可以的。 但是在网站发布到服务器后,这个方法就不行了,因为发布后根目录不带项目名,所以必须用return (localhostPath);才可以。 但每次发布后要调整这个返回值很麻烦,怎么判断一下才可以让这个方法不论在本地调试还是发布后都好使呢?

function getRootPath() {
    //获取当前网址,如: http://localhost:8088/test/test.jsp
    var curPath = window.document.location.href;
    //获取主机地址之后的目录,如: test/test.jsp
    var pathName = window.document.location.pathname;
    var pos = curPath.indexOf(pathName);
    //获取主机地址,如: http://localhost:8088
    var localhostPath = curPath.substring(0, pos);
    //获取带"/"的项目名,如:/test
    var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
    return (localhostPath + projectName);//发布前用此
}
http://www.abc.cn:8080/test.php?user=admin&pwd=admin#login 想得到整个如上的完整url,用:location.href; 得到传输协议http:,用:location.protocol; 得到主机名连同端口www.abc.cn:8080,用:location.host; 得到主机名www.abc.cn,用:location.hostname; 得到主机后部分不包括问号?后部分的/test.php,用:location.pathname; 得到url中问号?之后井号#之前的部分?user=admin&pwd=admin,用:location.search; 得到#之前的部分#login,用:location.hash;
当作看不见 2016-12-21
  • 打赏
  • 举报
回复
嗯,你本地的会有localhost或者是ip 地址127.0.0.1 ,上线了,会有域名嘛,不是域名就判断为本地咯
yl_521 2016-12-21
  • 打赏
  • 举报
回复
引用 1 楼 qq_29594393 的回复:
判断一下当前环境。获取localhost.href ,根据值,判断出环境,执行不同的方法获取项目根目录
您的意思是根据location.href的值判断当前环境吗? 假如本地调试,则有localhost这样的字符,是吗?
当作看不见 2016-12-21
  • 打赏
  • 举报
回复
判断一下当前环境。获取localhost.href ,根据值,判断出环境,执行不同的方法获取项目根目录

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧