html <base>标记引用本地文件夹

Tah*_*sha 6 html

我正在尝试使用基本标记设置本地站点根.以下代码无效.难道我做错了什么?如何将mysite文件夹设置为基础?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <base href="file:///home/me/mysite"></base>
      <title> Asset Take On Process </title>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
      <link rel="stylesheet" type="text/css" href="/css/main.css" />
    </head>
    <body>
      some stuff
    </body>
  </html>
Run Code Online (Sandbox Code Playgroud)

站点文件夹结构是

mysite
   |___css
   |___img
   |___js
Run Code Online (Sandbox Code Playgroud)

等等..

当我加载网页它不会看到main.css了在css文件夹中的.

bac*_*ack 6

如果删除那个 /,它应该使它相对于当前路径,当存在基本标签时

http://localhost/website/.
Run Code Online (Sandbox Code Playgroud)

您还需要在 href 的末尾添加一个 / 以表明它是一个文件夹。

完整的工作示例:

<!doctype html>
<html>
<head>
<base href="/test/" />
<script src="assets/test.js"></script>
<body>
hi
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
  • 实际上取决于你问的是谁,它仍然是相对的,因为它是相对于当前域的。但我更喜欢将其称为绝对路径,因为它表示基于当前域的路径来自根。虽然,我想从技术上讲,这使它在事物的宏伟计划中是相对的,而仅在当前领域方面是绝对的。任何。

请参考此链接

http://social.msdn.microsoft.com/Forums/ie/en-US/c51bb8b9-40ab-437b-a125-88b660f3e1ca/ie8-base-tag-issues


Juk*_*ela 5

正确的标签是

<base href="file:///home/me/mysite/"/>
Run Code Online (Sandbox Code Playgroud)

如果您希望将其设置file:///home/me/mysite/为基地址,则例如css/main.css指向file:///home/me/mysite/css/main.css。注意斜杠的重要性。在中的href值中base,最后一个斜杠之后的所有内容都将被忽略:file:///home/me/mysite表示与file:///home/me/那里相同。

这是一个令人困惑的主题,并且某些浏览器的实现可能会支持该值中的相对URL,这使它更加困惑。根据规范,仅允许使用绝对URL。

通常没有理由使用该base元素。相对URL(例如css/main.css或)../css/main.css可以很好地工作,并指定相对于HTML页面地址的地址。这意味着如果将站点上载到服务器,则无需更改它们。


And*_*ift 5

只是为了澄清其他答案:

基本标签必须以斜杠结尾。以下 URL不得以斜杠开头

这是合乎逻辑的,因为将它们加在一起构成了一个完整的地址。但这是违反直觉的,因为我们习惯于使用 /images/image.jpg 来使任何地方都能正常工作。