【问题标题】:How can I access root directory in HTML? (Using / is not working)如何访问 HTML 中的根目录? (使用 / 不起作用)
【发布时间】:2020-04-24 17:31:37
【问题描述】:

所以我试图在 HTML 中访问我的根目录,但是当我使用 / 时它不起作用。因此,例如,我试图通过以下方式获取导航 css:

<link rel="stylesheet" href="/nav.css">

奇怪的是,当我使用带有实时服务器扩展的 VS Code 时,它​​工作得非常好,但我最近才注意到,当我单独运行 index.html 文件时,没有以 / 开头的链接工作。我也知道这也是问题所在,因为当我去掉上面一行中的 / 时,它又可以正常工作了(仅适用于根目录中的主页)。

【问题讨论】:

  • “它不工作”没有任何意义。在浏览器开发工具中检查错误是什么,在网络选项卡中,如果文件已加载或给出一些错误,例如 404
  • btw /表示域的根目录,如果文件在https://example.com/directory/index.html,会尝试加载https://example.com/nav.css

标签: html filepath


【解决方案1】:

当我单独运行 index.html 文件时,没有以 / 开头的链接

如果您正在运行index.html单独,那么以/ 开头的链接将相对于您的文件系统 的根目录。

浏览器不(也不能)知道哪个目录代表您网站项目的根目录。

使用网络服务器。通过 HTTP 加载数据。

【讨论】:

  • 很遗憾我不能这样做,因为我正在为学校项目制作网站,而我的教授将运行 index.html 文件,我认为我没有办法改变方式他运行它。
  • 那么不要使用以/开头的网址。
【解决方案2】:

试试这个:

./nav.css

它(我的意思是./)在index.html 的同一目录中加载文件,与nav.css 相同。使用 VS Code,我敢打赌 ./nav.css 也应该适用于实时预览:使用外部 HTTP 服务器(例如 Node.js 上的 http-server)会有所帮助,因为它将当前目录(index.html 所在的位置)作为root,您可以轻松访问/nav.css。如果没有实时服务器,则可以使用 ./nav.css(典型的 *NIX 路径)或简单的 nav.css 在 Windows 上不带斜线来访问相对路径。

【讨论】:

    【解决方案3】:

    正如 Quentin 所指出的,如果您在没有服务器的情况下在本地加载 index.html 文件,则根目录将是您文件系统的根目录。如果您的要求是让index.html 文件在您教授的机器上本地工作而无需网络服务器,您应该使用relative paths

    为了从当前文件遍历备份你的文件系统,你可以使用以../开头的路径

    【讨论】:

      【解决方案4】:

      正如其他人所指出的那样,它不起作用的原因是,通过直接加载文件,您现在将其加载为本地文件而不是网站上的文件,因此您的 URL 库(您的 /)现在指的是到本地文件系统的根目录。这可能是 Windows 系统上的 C:\ 或 *nix 系统上的实际根 /

      要真正解决您的问题,我建议以下解决方案之一:

      1. 始终通过服务器通过 HTTP 运行项目。
      2. 浏览您的项目并将所有路径更改为相对路径。您或许可以在编辑器中使用查找替换来执行此操作。
      3. 使用&lt;base&gt; 标签指定网页的基本href 应该是什么。

      如果您不能使用服务器并且只有一个 HTML 文件,那么使用修复 3 可能是最快的。您可以使用 &lt;base href="."&gt; 将基础设置为 index.html 的当前目录我怀疑,这将是一个让事情像以前一样工作的解决方案。

      以后最好考虑一下这个以及您将如何运行该文件,以及您的 URL 将与什么相关。我们在开发中使用的工具非常擅长隐藏网站实际部署方式的细节,这一点现在很容易被忽略。

      【讨论】:

        【解决方案5】:

        我不认为&lt;base&gt; 是个好主意。 它会改变整个页面的基本href,这可能会在使用其他链接或部分导航时引起问题。

        【讨论】:

          猜你喜欢
          • 2018-08-09
          • 1970-01-01
          • 1970-01-01
          • 2017-06-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多