2011-11-02 7 views
19

Czy istnieje sposób zakładki lub link do strony HTML (której nie jestem autorem) bez kotwicy w kodzie HTML?Czy istnieje sposób zakładki lub link do sekcji strony bez kotwicy?

Chcę, aby strona została przewinięta do konkretnej sekcji, gdy uzyska się do niej dostęp z zakładki lub hiperłącza, nawet jeśli na stronie docelowej nie ma znacznika zakotwiczenia.

Uwaga: strona docelowa ma znacznik zakotwiczenia jako „foo”, a następnie zakładkę jak http:/...hello.html#foo nie tylko wziąć użytkownikowi hello.html ale także automatycznie przewinąć w dół do sekcji strony tak, że zakotwienia tag „foo” jest w górnej części ekranu

+0

Jeśli chcesz załadować stronę w nowym oknie. Możesz go otworzyć za pomocą javascriptu, a jego odnośnik przewinąć w dół, ale ty, jeśli strona się zmieni, tak, jak liczy się przewijanie. – NitWit

+0

Dzięki. Może to być zrobione, jeśli otworzy się w nowej karcie (jest ok dla mnie, nawet z javascript, ale nie powinno to być wyskakujące okno). Strona jest dość statyczna, nie zmieni się. Czy chcesz ustawić liczbę jako długość strony, która ma zostać przewinięta? Docenię każdy przykład. – SoulMan

+0

Po przejrzeniu mojej pierwotnej myśli, jeśli link znajduje się w innym oknie domeny.scrollTo nie będzie dozwolone XSS – NitWit

Odpowiedz

14

wystarczy tylko mieć odpowiedni atrybut id na element, aby wykorzystać go jak zakładki ...

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

... 

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

Patrz W3C specification: Anchors with the id attribute

Starsze techniczne pozwalają również ed nawigacja oparta na atrybucie name, ale ten atrybut został usunięty z najnowszych specyfikacji HTML (ale jeśli istnieje atrybut name, można go użyć w ten sam sposób, co atrybut id).

Jeśli nie ma atrybutu id lub name, do którego ma prowadzić nawigacja, nie ma możliwości przejścia do określonego punktu na stronie, tylko do samej strony. W takim przypadku możesz podać zacytowane informacje i podać cytat za pomocą linku, lub zapytać autora, czy doda on numer id.

+0

Czy to działa w dowolnej nowoczesnej przeglądarce? Widziałem (http://stackoverflow.com/questions/484719/html-anchors-withname-or-id/484892#484892) nie jest obsługiwane w NS4 (no cóż, kogo to obchodzi), ale co z IE6? –

+0

Działa w IE6. (ale nie powinieneś obsługiwać niczego, czego nie możesz przetestować) –

+3

Czy są jakieś sztuczki, które mogą prowadzić do elementu, który nie ma identyfikatora? – Rich

1

Jeśli wszystko inne zawiedzie, można użyć uzyskać zapytanie z window.location użyć jQuery aby uzyskać elementu DOM, poprosić o to stanowisko i scrollTop się tam poruszać (patrz jQuery scroll to element)

Powiązane problemy