He estado trabajando con una nueva instalación del software wiki "MoinMoin". Como yo estaba jugando con él, escribiendo páginas de prueba sobre todo al azar, he creado un enlace con un fragmentoURL semántica de "identificador de fragmento" para documentos HTML
blah blah see also [[SomeStuff#whatever|some other stuff about whatever]]
Entonces yo tenía que encontrar la manera de crear el ancla para que "sea cual sea" identificador de fragmento. No recuerdo tener que hacer eso con MediaWiki, así que tuve que cavar a su alrededor, pero finalmente me encontré con que MoinMoin tiene un "ancla" macro:
== Whatever ==
<<Anchor(whatever)>>
mirando el HTML generado, que se sorprendió al ver una etiqueta <span>
vacía con un valor "id" de "lo que sea". Esperaba que fuera una etiqueta <a>
con un atributo de "nombre" de "lo que sea". Busqué y encontré la fuente, y hay un comentario que dice que lo cambiaron de una etiqueta <a>
para evitar algunos problemas de IE con las secciones <pre>
. Esto me confundió — no por lo de IE, sino porque me pareció que su "solución" había dejado completamente roto el mecanismo de anclaje.
Sin embargo, para mi sorpresa, otras pruebas indicaron que funcionó bien. Escribí una página de prueba con etiquetas 300 <span>
, todas con valores "id", y además me sorprendí cuando Firefox se comportó exactamente como lo hubiera esperado si hubiera usado etiquetas <a>
. También funcionó cuando cambié todas las etiquetas <span>
a <em>
.
Por lo tanto, para este momento, o estás tan sorprendido como yo, o estás pensando "¿cómo puede alguien tan tonto tener tantos puntos de reputación?" Si está en la segunda categoría, ¿es realmente el caso que he estado escribiendo en HTML durante 15 años ahora — un lote de HTML — y de alguna manera no recuerdo que los navegadores usan el fragmento HTML para encontrar cualquier tipo de elemento de con una "id" coincidente?
estado de la mente: soplado
OK, bueno, eso lo aclara! Gracias. ¡Y sí, aprendí HTML hace bastante tiempo y realmente no he vuelto a estudiar las minucias desde entonces para cosas que creía entender completamente! – Pointy