2011-11-02 19 views
19

¿Hay alguna manera de marcar o vincular a una página HTML (de la que no soy autor) sin tener un ancla en el código html?¿Hay alguna manera de marcar o vincular a una sección de una página sin un ancla?

Quiero que la página se dispare a una sección en particular cuando se accede desde un marcador o hipervínculo, incluso si no hay una etiqueta de anclaje en la página de destino.

Nota: la página de destino tiene una etiqueta de anclaje como "foo" y luego un marcador como http:/...hello.html#foo no solo llevará al usuario a hello.html sino que también se desplazará automáticamente a la sección de la página para que la etiqueta de anclaje "foo" está en la parte superior de la pantalla

+0

Si desea cargar la página en una nueva ventana. Podrías abrirlo usando javascript y con su referencia desplazarse hacia abajo, pero si la página cambia también lo haría el conteo de desplazamiento. – NitWit

+0

Gracias. Puede hacerse si se abre en una nueva pestaña (está bien para mí incluso con javascript pero no debería ser una ventana emergente). La página es bastante estática, no cambiará. ¿Quiere decir que puedo establecer un número como la longitud de la página que se desplazará hacia abajo? Apreciaré cualquier ejemplo. – SoulMan

+0

Después de revisar mi pensamiento original, si el Enlace está en otra ventana de dominio.scrollTo no se permitirá XSS – NitWit

Respuesta

14

Sólo es necesario tener el atributo id apropiado en un elemento para usarlo como un marcador ...

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

... 

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

Ver las W3C specification: Anchors with the id attribute

especificaciones mayores también permiten navegación ed basada en el atributo name, pero este atributo se ha eliminado de las últimas especificaciones HTML (pero si hay un atributo name se puede usar de la misma manera que un atributo id).

Si no hay ningún atributo id o name al que desee navegar, no hay forma de navegar al punto específico dentro de la página, solo a la página misma. En este caso, es posible que desee citar la información pertinente y proporcionar una cita con un enlace o tal vez preguntar al autor si agregaría un id.

+0

¿Debería funcionar esto en cualquier navegador moderno? Vi (http://stackoverflow.com/questions/484719/html-anchors-with-name-or-id/484892#484892) no es compatible con NS4 (bueno, a quién le importa), pero ¿qué hay de IE6? –

+0

Funciona en IE6. (pero no debe admitir nada que no pueda probar) –

+3

¿Hay algún truco que pueda vincular a un elemento que no tiene una ID? – Rich

1

Si todo lo demás falla, puede utilizar conseguir la consulta de la window.location, usar jQuery para obtener el elemento DOM, pregunte por su posición y scrollTop para mover allí (ver jQuery scroll to element)

Cuestiones relacionadas