主要用到Location 对象,包含有关当前 URL 的信息,是 Window 对象的一个部分,可通过 window.location 属性来访问。
方法一、js获取项目根路径的方法
1
2
3
4
5
6
|
function
getRootPath(){
var
curPageUrl = window.document.location.href;
var
rootPath = curPageUrl.split(
"//"
)[0] + curPageUrl.split(
"//"
)[1].split(
"/"
)[0]
+ curPageUrl.split(
"//"
)[1].split(
"/"
)[1];
return
rootPath;
}
|
方法二 (window.document.location.href/window.document.location.pathname) ------------转自网络
1
2
3
4
5
6
7
8
9
10
11
12
|
function
getRootPath_web() {
//获取当前网址,如: 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);
}
|
方法三(window.location.pathname/window.location.protocol/window.location.host)
1
2
3
4
5
6
7
8
9
10
|
function
getRootPath_dc() {
var
pathName = window.location.pathname.substring(1);
var
webName = pathName ==
''
?
''
: pathName.substring(0, pathName.indexOf(
'/'
));
if
(webName ==
""
) {
return
window.location.protocol +
'//'
+ window.location.host;
}
else
{
return
window.location.protocol +
'//'
+ window.location.host +
'/'
+ webName;
}
}
|
注:
1、document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。
所以一个窗口下只有一个window.location.href,然则可能有多个document.URL、document.location.href------------转自网络
2、window.location.href和document.location.href可以被赋值,然后跳转到其它页面,document.URL只能读不克不及写------------转自网络
3、Location 对象详细信息参考w3school http://www.jb51.net/w3school/jsref/dom_obj_location.htm
脚本之家小编补充:
排除某些目录的广告实现
1
2
3
4
5
6
|
var
pathName = window.document.location.pathname;
var
projectName = pathName.substring(1, pathName.substr(1).indexOf(
'/'
) + 1);
var
ad_projectlist =
',,web,html5,css,'
;
if
(ad_projectlist.indexOf(
','
+projectName+
','
) < 0){
alert(
"web,html5,css几个目录代码不执行"
);
}
|