1

需要知道哪种方法包含 css 或 js 更好 -

<link href="http://www.mysite.com/css/style.css" rel="stylesheet" type="text/css"> 
or 
<link href="./style.css" rel="stylesheet" type="text/css"> 

有人告诉我,如果我使用绝对 URL(包括http://www.mysite.com),那么每次页面加载时都会从服务器下载 CSS 或 JS。

请帮助我理解这一点。

4

3 回答 3

4

绝对 URL 提供资源的完整路径。如果资源来自外部域或其他地方,通常就是这种情况。但是,为资源提供固定位置会导致损坏,尤其是在您四处移动时,例如将文件部署到生产服务器上。

例如,您从事localhost开发工作,并部署到example.com. 您有一个index.html加载名为styles.css. 您的绝对 URL 如下所示:

<link href="http://localhost/styles.css" type="text/css" />

但这仅适用于您的本地服务器。但是当你部署时,你的页面会寻找localhost——但你已经在生产服务器中了。它会破裂。

相对 URL 提供资源相对于加载它的页面的路径。它为您提供了更大的灵活性,尤其是在移动页面时。

于 2013-05-21T07:30:26.880 回答
4

您应该使用相对链接,因为这样您的代码不依赖于您的域。例如,如果您要更改域,则不必更改代码。

您的朋友告诉您的内容是错误的,浏览器无论如何都会从您的服务器下载您的 CSS 和 js,但它会将其放入缓存以供以后使用。所以它不是在每个页面上下载的。

于 2013-05-21T07:31:51.693 回答
3

简短的回答是:没关系。使用您喜欢的任何风格,只要尝试保持一致即可。

长答案是:

自从 CSS 成为一件事以来,人们就一直在问这种问题。有各种各样的答案会以一种或另一种方式争论,引用性能影响或可维护性。

这些都不重要,因为:

  • 浏览器非常高效,任何性能差异都完全没有意义。
  • 担心优化包含路径会分散注意力,最好只编写代码。
于 2013-05-21T07:42:37.340 回答