2011-11-02 67 views
19

有沒有任何方式來書籤或鏈接到一個HTML頁面(我不是作者),沒有在HTML代碼錨點?有沒有任何方法來書籤或鏈接到頁面的一個部分沒有錨點?

我希望頁面在從書籤或超鏈接訪問時滾動到特定的部分,即使目標頁面中沒有錨標記也是如此。

注意:目標頁面的錨點標記爲「foo」,那麼像http:/...hello.html#foo這樣的書籤不僅會將用戶帶到hello.html,還會自動向下滾動到頁面部分,以便錨定標記「foo」在屏幕的頂部

+0

,如果您加載網頁在一個新的窗口。您可以使用javascript打開它,並且其參考向下滾動,但是如果頁面發生變化,則可以滾動計數。 – NitWit

+0

Thanks.Can它可以完成,如果它打開一個新的選項卡(它對我來說即使使用JavaScript,但它不應該是一個彈出窗口)。頁面是相當靜態的,不會改變。你的意思是我可以設置一個數字作爲向下滾動頁面的長度?我會很欣賞任何例子。 – SoulMan

+0

經過審查我的原始思想,如果鏈接是在另一個域window.scrollTo將不被允許XSS – NitWit

回答

14

你只需要必須使用它就像一個書籤的元素在適當的id屬性...

<a href="#test">Test</a> 

... 

<p id="test">Hello world</p> 

W3C specification: Anchors with the id attribute

舊規範還允許(name屬性),但該屬性已從最新的HTML規範中刪除(但如果存在name屬性,則可以按照與id屬性相同的方式使用該屬性)。

如果您沒有要導航到的idname屬性,則無法導航到頁面內的特定點,而只能導航到頁面本身。在這種情況下,您可能需要引用相關信息並提供鏈接,或者詢問作者是否要添加id

+0

這應該在任何現代瀏覽器的工作?我看到(http://stackoverflow.com/questions/484719/html-anchors-with-name-or-id/484892#484892)它不支持在NS4(嗯,誰在乎),但如何IE6? –

+0

它在IE6中工作。 (但你不應該支持任何你無法測試的東西) –

+3

有沒有可以鏈接到沒有ID的元素的技巧? – Rich

1

如果一切都失敗了,你可以使用來自window.location得到查詢,使用jQuery來獲取DOM元素,要求它的位置和scrollTop移動那裏(見jQuery scroll to element

相關問題