Soy bastante nuevo en la creación de sitios web. Sin embargo, tengo algo de experiencia en LaTeX y algunos otros lenguajes de programación.¿Buenas prácticas para incluir un menú en un sitio web?
Realmente tratar de reutilización de código, etc. Por lo tanto, cuando la construcción de mi página web, quiero "incluyen", por ejemplo, el menú en las otras páginas, en lugar de copiar y pegar de forma explícita en.
Hay varias formas que conozco que pueden hacer esto:
- el menú es una página estática, su contenido está en un iframe. Esta es la peor forma de hacerlo, ya que rompe muchas cosas, como back/forward, etc ... (que sé que podría ser algo inteligente para algunos, pero no en mi caso).
Esto es lo que estoy usando ahora: cada página web incluye el menú usando un iframe:
<iframe src="menu.html" class="menu" height="100%" frameborder="0"></iframe>
la desventaja de este método es: el menú no quede recargado correctamente cuando las personas vuelven a visitar su sitio web , a menos que utilice algunas secuencias de comandos que dice específicamente el navegador para hacer esto:
document.getElementById('some_frame_id').contentWindow.location.reload();
esto es lo que estaba pensando desde mi nuevo huésped permite esto: que incluye el menú utilizando SSI.
< !--#include virtual="/menu.html"-->
El posible inconveniente es que cada página web debe tener en cuenta la incluye, y por lo tanto tiene que ser analizado (esto ralentiza el sistema de archivos). La seguridad no es un problema para mí.
¿Qué recomendarías? ¿Hay reglas de cortesía de lo que se debe hacer? ¿Hay problemas de compatibilidad con alguno de los métodos descritos anteriormente? ¿Hay mejores métodos?
Por ejemplo: sospecho que el segundo método (que estoy usando ahora) rompe la indexación de google, por lo que solo mi página de inicio se indexa. (No estoy seguro de si esto es cierto, sin embargo).
No intente optimizar de forma prematura. Use SSI y, si hay un problema de rendimiento, vea qué puede hacer. Pero apuesto a que nunca sucederá. –
La indexación de google no se ha ampliado. El servidor incluye la pieza de HTML antes de enviarla al cliente, ya sea el navegador de alguien o uno de los rastreadores de Google. La secuencia de comandos que incluye el comentario 'incluir' nunca se enviará. – bigblind
@JBNizet: de acuerdo, leí en [este tutorial en cgi] (http://oreilly.com/openbook/cgi/ch05_02.html) que esta es una mala idea. Debo decir que no he notado ningún problema de rendimiento en las páginas que ya tengo SSI. ¿Existen reglas/convenciones sobre cómo nombrar las páginas (extensiones)? Mis páginas habilitadas para SSI se extienden '.shtml' en este momento, ¿hay algún problema si solo guardo todo' .html' (sé que esto funcionará, pero ¿está bien hacerlo)? – romeovs