65

ページのセクションに <base>以下のようなタグがあります。<head>

<base href="http://localhost/framework">

そして、相対的な(もちろん後の)以下のようなスクリプト<base>

<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">  

私はどこでも答えを探しましたが、私は自分の仕事を正しくやっているようです!では、何が問題なのでしょうか。

4

2 に答える 2

126

/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>

*実際には、誰に尋ねるかによって異なりますが、現在のドメインからは相対的であるため、依然として相対的です。ただし、現在のドメインに基づいてパスがルートからのものであることを示しているため、これを絶対と呼ぶことを好みます。とはいえ、技術的には、それは物事の壮大な計画において相対的であり、現在の領域に関してのみ絶対的であると思います。なんでもいい。

于 2012-07-17T10:55:38.863 に答える
17

次のようなベースタグを試してください。

<base href="http://localhost/framework/">

そしてあなたのスクリプトタグは次のようになります:

<script src="assets/jquery-1.7.1.min.js">
于 2012-07-17T10:59:24.070 に答える