JS怎样获得网站的根目录或虚拟目录的根地址?

foxconn_nich 2007-04-07 03:12:44
如题,就相当于asp.net里面的Request.ApplicationPath这个一样
例如,当我在IIS中建的虚拟目录是http://localhost/HRS
怎样用js获得
但当我建的是网站时如http://localhost:888/
两个都是指向同一个地方,怎样的js代码可以获取到网站或虚拟目录的根,因为我不知道到时系统上线时建的是虚拟目录还是网站

因为有一幅图片我是要在js里面调出来显示,而系统的每个页面都要用到,所以就存在一个相对路径的问题,我必须用js找到根,才能在所有目录下的网页中正常显示
...全文
6187 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
b58585885 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 b58585885 的回复:]
我们可以用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……
[/Quote]

对于这样一个URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
b58585885 2011-03-09
  • 打赏
  • 举报
回复
我们可以用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
zhagnqian 2010-12-02
  • 打赏
  • 举报
回复
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;
zhagnqian 2010-12-02
  • 打赏
  • 举报
回复
会报没有request的错误
mac_shen 2008-09-02
  • 打赏
  • 举报
回复
在jsp里:
<%
String webRoot = request.getContextPath();
%>
<script>
var webRoot = "<%=webRoot%>";
</script>

在js里就可以用webRoot去根目录了





foxconn_nich 2007-04-09
  • 打赏
  • 举报
回复
顶上去
foxconn_nich 2007-04-09
  • 打赏
  • 举报
回复
顶上去
foxconn_nich 2007-04-07
  • 打赏
  • 举报
回复
johin727(我是新手我怕谁?)
你这种方法肯定不行,你可能都还没理解我的意思
test.php有可能放在网站根目录的第一层目录下或第二层、三层下,你获得它的当有位置没用,我要获得它的根
爱着有你 2007-04-07
  • 打赏
  • 举报
回复
给我全部分呀。我在争分呢
爱着有你 2007-04-07
  • 打赏
  • 举报
回复
把test.php 这个字符串改成你当前文件相对于根目录的路径就行了
爱着有你 2007-04-07
  • 打赏
  • 举报
回复
alert( document.URL.replace('test.php', '') ) ;

这样可以了。用replace的方法来实现。
foxconn_nich 2007-04-07
  • 打赏
  • 举报
回复
虚拟目录的名称也是未定的,反正我就是要取到:如果是虚拟目录,就是取到虚拟目录下,如果是网站,就要取到网站根目录下
rjzou2006 2007-04-07
  • 打赏
  • 举报
回复
哪么你的虚拟目录会变化?

?????????????????????????????????
foxconn_nich 2007-04-07
  • 打赏
  • 举报
回复
不需要相对路径

用 "/"
-----------------------------
只对在IIS建成网站才有效果,如果我是建的虚拟目录HRS,"/"它就会去取http://localhost/,而不是http://localhost/HRS
rjzou2006 2007-04-07
  • 打赏
  • 举报
回复
不需要相对路径

用 "/"

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧