我在页面的head部分有一个BASE标记:
<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">
我到处寻找答案,但似乎我的工作正常!那么问题是什么?
答案 0 :(得分:92)
/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>
*
实际上,根据您的要求,它仍然是相对的,因为它相对于当前域。但我更喜欢称之为绝对,因为它表示路径来自根,基于当前域。虽然,我认为从技术上讲,这使得它在宏观方案中相对而言,并且仅在当前领域方面是绝对的。不管。
答案 1 :(得分:13)
尝试使用基本标记:
<base href="http://localhost/framework/">
和您的脚本标记如:
<script src="assets/jquery-1.7.1.min.js">