2010-02-10 90 views
10

在網站上有一個奇怪的問題。具有href="#anything"的鏈接標記不會將您移動到頁面頂部或指定的錨點,它會將您移動到主頁。就是這樣 - 當我將鼠標懸停在鏈接上時,我在FF的狀態欄example.com/#而不是example.com/testpage.php#處看到。href =「#」重定向到索引頁面,但不是當前頁面的頂部

網站充滿了垃圾代碼,它是不可能的,驗證所有的設置,尤其是頭配置或等

在哪裏,這可能是任何提示?

P.S. Link的href沒有被JS改變,當我點擊它時,Firebug宣稱它是href="#"

+0

什麼頁面你是當這種情況發生呢? – 2010-02-10 17:00:32

+1

是否有定義的目標屬性? – 2010-02-10 17:03:09

+0

向我們展示您的代碼,在其中定義目標「#anything」。你不要在目標名稱/ ID中重複'#'......只是「任何」。 – philfreo 2010-02-10 17:06:01

回答

16

我最初的想法是,你可能在某個地方有base tag。檢查你的代碼類似於以下,並在必要時將其刪除:

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

顯然,謹慎是必要的,因爲可能有一些標記是依賴於任何預先存在的基礎標籤。另外,還要確保您的href值之前沒有與這樣的FOWARD斜線:

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

由於這將去#anything根目錄的默認起始頁。

+1

yep找到了基地標籤,並確認它是邪惡的根源。謝謝! – Brock 2010-02-11 15:36:32

+1

@Brock這是打算一個雙關語? :) 呵呵。 – Sampson 2010-02-11 16:14:32

3

您是否可能在代碼的<head>部分有<base>標記?

這將使所有相關的url請求以base標記中指定的href開頭。如果頁面依賴於它的存在,我強烈建議您不要將其刪除,否則您可能需要進行大量更新。

更多信息:

+0

謝謝,基地標籤它。 – Brock 2010-02-11 15:37:02