如何使用javascript获取应用程序路径

时间:2010-09-09 14:06:44

标签: javascript

如果我将我的应用程序托管在目录中。应用程序路径是目录名称。

例如

http://192.168.1.2/AppName/some.html

如何在我的案例/AppName中使用javascript应用程序名称。

document.domain正在返回主机名,document.URL正在返回整个网址。

修改

应用程序路径可能更复杂,例如/one/two/thre/

5 个答案:

答案 0 :(得分:10)

window.location.pathname.substr(0, window.location.pathname.lastIndexOf('/'))

答案 1 :(得分:9)

这将为您提供结果,但如果您有更多级别,则必须进行修改(请参阅注释代码)。

var path = location.pathname.split('/');
if (path[path.length-1].indexOf('.html')>-1) {
  path.length = path.length - 1;
}
var app = path[path.length-2]; // if you just want 'three'
// var app = path.join('/'); //  if you want the whole thing like '/one/two/three'
console.log(app);

答案 2 :(得分:2)

(function(p) {
    var s = p.split("/").reverse();
    s.splice(0, 1);
    return s.reverse().join("/");
})(location.pathname)

这是一个表达式......只需将其复制粘贴到需要该字符串的位置即可。 或者将它放在变量中,以便您可以多次使用它。

答案 3 :(得分:2)

这应该可以解决问题

function getAppPath() {
    var pathArray = location.pathname.split('/');
    var appPath = "/";
    for(var i=1; i<pathArray.length-1; i++) {
        appPath += pathArray[i] + "/";
    }
    return appPath;
}

alert(getAppPath());

答案 4 :(得分:0)

alert("/"+location.pathname.split('/')[1]);

如果您的路径类似于/ myApp /...

function applicationContextPath() {
    if (location.pathname.split('/').length > 1)
        return "/" + location.pathname.split('/')[1];
    else
        return "/";
}
alert(applicationContextPath);