JS 中如何获取站点根目录文件的位置

JavaScript018

JS 中如何获取站点根目录文件的位置,第1张

先获取当前的全路径,然后对全路径进行分析获取到跟路径

//js获取项目根路径,如: http://localhost:8083/uimcardprj

function getRootPath(){

    //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp

    var curWwwPath=window.document.location.href

    //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp

    var pathName=window.document.location.pathname

    var pos=curWwwPath.indexOf(pathName)

    //获取主机地址,如: http://localhost:8083

    var localhostPaht=curWwwPath.substring(0,pos)

    //获取带"/"的项目名,如:/uimcardprj

    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1)

    return(localhostPaht+projectName)

}

JSP引用JS文件的路径有以下三种:

1、使用相对于jsp页面的相对路径

<script type="text/javascript" src="../a.js"></script>

2、使用相对于Web工程的相对路径

<script type="text/javascript" src="scripts/a.js"></script>

PS:使用此方法这种方式引用,如果直接访问该jsp页面http://localhost:8080/项目名称/a.jsp,是引用不到该js的。

3.使用Web工程的绝对路径

<script type="text/javascript" src="/项目名称/scripts/a.js"></script>

如此,不管是通过跳转访问还是直接访问a.jsp,都可以成功引用。

PS:如果在部署Web应用时,没有设置Context Root(一般情况下配置为项目名称),也就是端口后面不带项目名称,如:http://localhost:8080/a.do和http://localhost:8080/a.jsp,此时在引用时就不能带项目名,如:

<script type="text/javascript" src="/scripts/a.js"></script>