2010-08-25 57 views
1

我試圖使用windows.location.hash =「test.asp#page#section13」,並且在所有瀏覽器中都能正常工作,但在IE6中,URI中的鏈接被替換爲test。 ASP#pagesection13。IE6中的多個錨標記不起作用

因此,看來IE6不支持多個錨點。任何方式(除了重寫所有內容)?

此致

傑裏

回答

1

有這樣的事,作爲「多個錨定」,雖然在現代瀏覽器,你可以使用各種字符的錨(包括#),而在IE6你不能真的不。如果你不想重寫,你可能會嘗試使用諸如#ie.foo.bar而不是#foo#bar當訪問者使用IE6時,在另一邊檢測它並通過javascript將元素滾動到頂部。 (這當然假設document.getElementById('foo#bar')的票價更好,我沒有測試過。)

+0

Thanx,如果沒有多個瀏覽器這樣的事情,這顯然是我的錯誤,這樣做,我會重寫並使「 「而不是第二個」#「。雖然所有新的瀏覽器都支持這樣的事情,如果它不符合規範,我不能指責IE6(至少這一次);-) – Jerry2 2010-08-25 07:34:49

+1

HTML 4.01規範[狀態](http://www.w3.org/ TR/html401/types.html#type-name)* ID和NAME標記必須以字母([A-Za-z])開頭,後面可以跟隨任意數量的字母,數字([0-9]) ,連字符(「 - 」),下劃線(「_」),冒號(「:」)和句號(「。」)*(儘管HTML5解除了這個限制,我認爲),所以IE在這裏沒有錯。 – Tgr 2010-08-25 08:02:13