我正在尝试使用基本标记设置本地站点根.以下代码无效.难道我做错了什么?如何将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文件夹中的.
如果删除那个 /,它应该使它相对于当前路径,当存在基本标签时
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)
请参考此链接
正确的标签是
<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页面地址的地址。这意味着如果将站点上载到服务器,则无需更改它们。
只是为了澄清其他答案:
基本标签必须以斜杠结尾。以下 URL不得以斜杠开头:
这是合乎逻辑的,因为将它们加在一起构成了一个完整的地址。但这是违反直觉的,因为我们习惯于使用 /images/image.jpg 来使任何地方都能正常工作。
| 归档时间: |
|
| 查看次数: |
13443 次 |
| 最近记录: |