【问题标题】:How to link to file in root directory如何链接到根目录中的文件
【发布时间】:2016-12-25 14:12:29
【问题描述】:

我在根文件夹中有一个带有index.html 的网站,还有一个名为apples 的文件夹。在apples 里面我还有另一个index.html。目前我正在尝试使用 AngularJS 将相同的导航栏加载到两个页面中。但是,当我尝试像这样链接到 Javascript 文件时:<script src="/controller.js">,JS 文件为根文件夹中的index.html 加载,但它拒绝在apples 文件夹中加载index.html 的文件。有谁知道为什么?在apples 文件夹中,它一直链接到apples//controller.js

【问题讨论】:

  • 完成了任何基本调试,例如检查服务器访问日志以查看您的请求发生了什么?也许你有一个行为不端的重写,阻止了对 js 文件的访问并将请求发送到主页。
  • 你应该上一级。所以对于apples文件夹中的index.html,你需要做src="../controller.js"
  • @KaushalNiraula:我想将此行复制并粘贴到我拥有的任何和所有 HTML 页面中,无论其中有多少个文件夹(因为它为所有文件夹加载相同的标题)。

标签: javascript html angularjs


【解决方案1】:

您是在服务器上运行它还是只在桌面上运行?如果您从 Web 服务器运行,路径 /controller.js 应该可以工作,但如果您在本地调用它,则可能无法工作。

【讨论】:

  • 我用http-server(在mac上)解决了这个问题。我没有意识到从服务器运行它会产生这种差异。你知道为什么吗?并感谢您的帮助。
  • /controller.js 是服务器上的有效绝对路径,因为服务器知道您正在引用根文件夹 - /wwwroot/controller.js 或 /public_html/controller.js - 但如果您尝试要在 Web 浏览器中本地运行相同的代码,它不是您桌面上的有效路径,因此您需要使用相对路径,或者更好的是,在您的开发机器上运行一个 Web 服务器。
【解决方案2】:
<script src="../js/controller.js"></script>
          __ ______ ________
          |    |       |
          |    |       |___ 3. Get the file named "logo.png"
          |    |
          |    |___ 2. Go inside "images/" subdirectory
          | 
          | 
          |____ 1. Go one level up

Reference

【讨论】:

  • 这是一个很好的答案,但我希望能够将这一行代码复制并粘贴到我拥有的 any HTML 页面中,无论它有多少个文件夹内部(它为所有这些加载相同的标题)。这就是为什么我更喜欢/ 方法而不是../ 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
相关资源
最近更新 更多