JS获取项目路径
写程序的时候在JS里面需要用到项目路径, 所以网上找了个例子, 然后看了下, 差不多如下.
1 | function getRootPath() { |
代码还是比较通用的, 主要利用document.location.pathname;
获取路径地址, 然后截取出项目名. 适用于下面2种情况:
- 如果路径没有项目名:
http://example:8080/test.html
那么返回的是http://example:8080
- 如果路径带了项目名:
http://example:8080/project_name/test.html
那么返回的是:http://example:8080/project_name
如果路径没有项目名时, 是这样的情况:
1 | var str = pathName.substr(1); //这里获取到的是test.html |
而如果路径带了项目名, 我在上面代码注释里已经写了步骤介绍了过程. 这里就不再啰嗦了.
另外说一下, 网上的例子在获取主机路径的时候是这样的写法.
1 | // 先拿到当前页面的地址. |
但是我debug的时候发现document.location
里面有一个origin属性(查了国内w3c并没有这个属性的介绍), 这个属性值就是主机的路径. 所以省的我们自己计算了, 同时我也测试过在带项目路径和没有项目路径这2种情况下, origin属性都是可以拿到主机路径的.
英文的W3C Location对象介绍页面有Origin这个属性: http://w3schools.bootcss.com/jsref/prop_loc_origin.html