Reputation: 10332
If I have my application hosted in a directory. The application path is the directory name.
For example
http://192.168.1.2/AppName/some.html
How to get using javascript the application name like in my case /AppName
.
document.domain
is returning the hostname and document.URL
is returning the whole Url.
EDIT
Thr app path could be more complex, like /one/two/thre/
Upvotes: 13
Views: 44050
Reputation: 1816
alert("/"+location.pathname.split('/')[1]);
If your path is something like /myApp/...
or
function applicationContextPath() {
if (location.pathname.split('/').length > 1)
return "/" + location.pathname.split('/')[1];
else
return "/";
}
alert(applicationContextPath);
Upvotes: 0
Reputation: 14123
This will give you a result but would have to be modified if you have more levels (see commented code).
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);
Upvotes: 10
Reputation: 810
window.location.pathname.substr(0, window.location.pathname.lastIndexOf('/'))
Upvotes: 15
Reputation: 185933
(function(p) {
var s = p.split("/").reverse();
s.splice(0, 1);
return s.reverse().join("/");
})(location.pathname)
This is an expression... just copy-paste it to the place where you need that string. Or put it in a variable, so that you can use it multiple times.
Upvotes: 2
Reputation: 2460
This should do the trick
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());
Upvotes: 2