我在页面的头部分有一个基本标签,如下所示:
<base href="http://localhost/framework">
以及以下相对脚本(当然是在基标记之后):
<script src="/assets/jquery-1.7.1.min.js">
但当我从Firebug打开jquery时,它显示:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
Blah Blah Blah....
当我使用下面的链接时,可以:
<script src="http://localhost/framework/assets/jquery-1.7.1.min.js">
我到处找答案,但似乎我做得很好!那么问题是什么呢?
最佳答案:
/assets/jquery-1.7.1.min.js
不是相对的而是绝对的*,即使带有/
标记,base
也会将其带到根目录。
如果删除该/
,它应该使其相对于当前路径,当存在base
标记时,该路径将为http://localhost/framework/
。
您还需要在/
的末尾添加一个尾随的href
来指示它是一个文件夹。
完整工作示例:
<!doctype html>
<html>
<head>
<base href="/test/" />
<script src="assets/test.js"></script>
<body>
hi
</body>
</html>
*
实际上,取决于你问谁,它仍然是相对的,因为它是相对于当前域的。但我更喜欢称之为绝对路径,因为它表示路径是基于当前域的根路径。不过,我猜从技术上讲,这使得它在事物的大计划中是相对的,而且仅在当前领域是绝对的。无论什么。