例如,当我在IIS中建的虚拟目录是http://localhost/HRS
怎样用js获得
但当我建的是网站时如http://localhost:888/
两个都是指向同一个地方,怎样的js代码可以获取到网站或虚拟目录的根,因为我不知道到时系统上线时建的是虚拟目录还是网站
因为有一幅图片我是要在js里面调出来显示,而系统的每个页面都要用到,所以就存在一个相对路径的问题,我必须用js找到根,才能在所有目录下的网页中正常显示
15 个解决方案
#1
不需要相对路径
用 "/"
用 "/"
#2
不需要相对路径
用 "/"
-----------------------------
只对在IIS建成网站才有效果,如果我是建的虚拟目录HRS,"/"它就会去取http://localhost/,而不是http://localhost/HRS
用 "/"
-----------------------------
只对在IIS建成网站才有效果,如果我是建的虚拟目录HRS,"/"它就会去取http://localhost/,而不是http://localhost/HRS
#3
哪么你的虚拟目录会变化?
?????????????????????????????????
?????????????????????????????????
#4
虚拟目录的名称也是未定的,反正我就是要取到:如果是虚拟目录,就是取到虚拟目录下,如果是网站,就要取到网站根目录下
#5
alert( document.URL.replace('test.php', '') ) ;
这样可以了。用replace的方法来实现。
这样可以了。用replace的方法来实现。
#6
把test.php 这个字符串改成你当前文件相对于根目录的路径就行了
#7
给我全部分呀。我在争分呢
#8
johin727(我是新手我怕谁?)
你这种方法肯定不行,你可能都还没理解我的意思
test.php有可能放在网站根目录的第一层目录下或第二层、三层下,你获得它的当有位置没用,我要获得它的根
你这种方法肯定不行,你可能都还没理解我的意思
test.php有可能放在网站根目录的第一层目录下或第二层、三层下,你获得它的当有位置没用,我要获得它的根
#9
顶上去
#10
顶上去
#11
在jsp里:
<%
String webRoot = request.getContextPath();
%>
<script>
var webRoot = "<%=webRoot%>";
</script>
在js里就可以用webRoot去根目录了
<%
String webRoot = request.getContextPath();
%>
<script>
var webRoot = "<%=webRoot%>";
</script>
在js里就可以用webRoot去根目录了
#12
会报没有request的错误
#13
var strFullPath=window.document.location.href;
var strPath=window.document.location.pathname;
alert(strPath+"路径名称");
var pos=strFullPath.indexOf(strPath);
var prePath=strFullPath.substring(0,pos);
return prePath;
var strPath=window.document.location.pathname;
alert(strPath+"路径名称");
var pos=strFullPath.indexOf(strPath);
var prePath=strFullPath.substring(0,pos);
return prePath;
#14
我们可以用javascript获得其中的各个部分
1, window.location.href
全部URl字符串(在浏览器中就是完整的地址栏)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
假如采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并应用javascript来获得信任应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere
1, window.location.href
全部URl字符串(在浏览器中就是完整的地址栏)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
假如采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并应用javascript来获得信任应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere
#15
对于这样一个URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
#1
不需要相对路径
用 "/"
用 "/"
#2
不需要相对路径
用 "/"
-----------------------------
只对在IIS建成网站才有效果,如果我是建的虚拟目录HRS,"/"它就会去取http://localhost/,而不是http://localhost/HRS
用 "/"
-----------------------------
只对在IIS建成网站才有效果,如果我是建的虚拟目录HRS,"/"它就会去取http://localhost/,而不是http://localhost/HRS
#3
哪么你的虚拟目录会变化?
?????????????????????????????????
?????????????????????????????????
#4
虚拟目录的名称也是未定的,反正我就是要取到:如果是虚拟目录,就是取到虚拟目录下,如果是网站,就要取到网站根目录下
#5
alert( document.URL.replace('test.php', '') ) ;
这样可以了。用replace的方法来实现。
这样可以了。用replace的方法来实现。
#6
把test.php 这个字符串改成你当前文件相对于根目录的路径就行了
#7
给我全部分呀。我在争分呢
#8
johin727(我是新手我怕谁?)
你这种方法肯定不行,你可能都还没理解我的意思
test.php有可能放在网站根目录的第一层目录下或第二层、三层下,你获得它的当有位置没用,我要获得它的根
你这种方法肯定不行,你可能都还没理解我的意思
test.php有可能放在网站根目录的第一层目录下或第二层、三层下,你获得它的当有位置没用,我要获得它的根
#9
顶上去
#10
顶上去
#11
在jsp里:
<%
String webRoot = request.getContextPath();
%>
<script>
var webRoot = "<%=webRoot%>";
</script>
在js里就可以用webRoot去根目录了
<%
String webRoot = request.getContextPath();
%>
<script>
var webRoot = "<%=webRoot%>";
</script>
在js里就可以用webRoot去根目录了
#12
会报没有request的错误
#13
var strFullPath=window.document.location.href;
var strPath=window.document.location.pathname;
alert(strPath+"路径名称");
var pos=strFullPath.indexOf(strPath);
var prePath=strFullPath.substring(0,pos);
return prePath;
var strPath=window.document.location.pathname;
alert(strPath+"路径名称");
var pos=strFullPath.indexOf(strPath);
var prePath=strFullPath.substring(0,pos);
return prePath;
#14
我们可以用javascript获得其中的各个部分
1, window.location.href
全部URl字符串(在浏览器中就是完整的地址栏)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
假如采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并应用javascript来获得信任应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere
1, window.location.href
全部URl字符串(在浏览器中就是完整的地址栏)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
假如采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并应用javascript来获得信任应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere
#15
对于这样一个URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere