You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JavaScript获取当前HTML文件所在目录的URL路径?

获取当前页面所在目录的URL

当然有办法啦!这里有几种简单的纯前端JavaScript方案,帮你从页面URL中提取出所在目录的路径:

方法一:字符串截取法(最直接)

利用字符串的lastIndexOf()找到最后一个斜杠的位置,再截取到该位置(包含斜杠)即可:

function test() {
  const fullUrl = window.location.href;
  // 找到最后一个"/"的索引,截取到该位置+1(保留结尾的"/")
  const dirUrl = fullUrl.slice(0, fullUrl.lastIndexOf('/') + 1);
  alert(dirUrl);
}

这个方法兼容性极强,不管是本地file协议还是线上http/https协议都能正常工作。

方法二:利用location对象属性拆分

通过window.location的各个属性拆分重组目录URL:

function test() {
  // 获取页面路径部分(比如"/Users/Administrator/Desktop/test.html")
  const pathName = window.location.pathname;
  // 截取路径到最后一个"/"的位置
  const dirPath = pathName.slice(0, pathName.lastIndexOf('/') + 1);
  // 拼接协议、主机和目录路径
  const dirUrl = window.location.protocol + '//' + window.location.host + dirPath;
  alert(dirUrl);
}

对于本地file协议来说,window.location.host是空值,所以最终会自动拼接成file:///C:/Users/Administrator/Desktop/,完全符合你的需求。

方法三:使用URL对象(现代浏览器推荐)

现代浏览器支持URL构造函数,可以更优雅地处理URL:

function test() {
  const url = new URL(window.location.href);
  // 把路径按"/"分割成数组,移除最后一个文件名元素
  const pathSegments = url.pathname.split('/');
  pathSegments.pop();
  // 重新设置路径并加上结尾的"/"
  url.pathname = pathSegments.join('/') + '/';
  alert(url.href);
}

这种方法语义化更强,适合需要对URL做更多复杂操作的场景。

内容的提问来源于stack exchange,提问作者Thaju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:24:35