12

サイトで奇妙な問題を抱えています。リンクタグをhref="#anything"使用すると、ページの上部や指定したアンカーに移動せず、ホームページに移動します。それだけです-リンクにカーソルを合わせると、FFのステータスバーに表示されexample.com/#ますexample.com/testpage.php#

サイトはがらくたコードでいっぱいで、すべての設定、特にヘッダー構成などを確認することは不可能です。

これがどこにあるかについてのヒントはありますか?

PS LinkhrefはJSで変更されていません。Firebugは、href="#"クリックすると変更されると主張しています。

4

2 に答える 2

24

私の最初の考えは、どこかでベースタグが使用されている可能性があるということです。次のようなコードを確認し、必要に応じて削除します。

<base href="http://www.mydomain.com/testpage.php" />

明らかに、既存のベースタグに依存するマークアップが存在する可能性があるため、注意が必要です。また、href値の前に次のような前方のスラッシュが付いていないことを確認してください。

<a href="/#anything">Click Me</a>

これは、ルートディレクトリのデフォルトのスタートページにある#anythingに移動するためです。

于 2010-02-10T17:02:07.020 に答える
3

<base>コードのセクションにタグがあり<head>ますか?

これにより、すべての相対URLリクエストがベースタグで指定されたhrefで開始されます。ページがその存在に依存している場合は、削除しないことを強くお勧めします。そうしないと、多くの更新が必要になる可能性があります。

より詳しい情報:

于 2010-02-10T17:02:22.287 に答える