2010-12-29 18 views
6

¿es una buena práctica usar iframe para implementar header/navbar?¿es una buena práctica usar iframe para implementar header/navbar?

mi sitio web es básicamente 5 mil páginas pero todo estático html (sin utilizar ningún gestor de contenido, php, etc.).

Estoy en proceso de agregar una barra de navegación en la parte superior de cada página. p.ej. pestañas, o migas, o cualquier tipo de encabezado con el menú js. (el diseño exacto aún no se ha decidido)

mi pregunta es, ¿es una buena práctica usar un iframe para esto? (por lo tanto, en lugar de repetir el mismo texto en las 5 mil páginas, cada uno tendrá un iframe corto apuntando a un archivo de encabezado)

soy consciente de que se debe reducir la solicitud http de velocidad, pero esto está bien conmigo. ¿Algún otro problema que pueda tener con esto? SEO o cualquier problema de tecnología?

+3

¿Cinco mil páginas? ¿Podría preguntar para qué sirve esto? En este nivel, consideraría pasar a una solución dinámica. No quiero saber qué harías con esto cuando se necesita un pequeño cambio. – Scorchio

+1

es básicamente material tutorial y blog en el que trabajé durante los últimos 15 años. xahlee.org básicamente codigo en emacs y lo cargo diariamente (rsync) Esta es la razón por la cual quiero usar iframe para el encabezado así que cualquier cambio puedo cambiar solo 1 archivo en lugar de buscar/reemplazar por script en todas las páginas.Actualmente no se desea cambiar al administrador de contenido (restricciones de tiempo, diseño, etc.) –

+1

, si es posible, considere el lado del servidor como una opción, de modo que en lugar de un iframe, agregará una línea #include en cada página. también es posible hacer que el servidor web emita html fijo antes y después del contenido real. esto puede o no ser posible o conveniente. Además, si hay una sola página de inicio desde donde están vinculadas todas estas páginas y cada página enlaza con otras páginas, puede considerar mostrar las páginas en un marco flotante, lo que significa que solo creará una página html adicional y otras páginas permanecerán intactas. . –

Respuesta

5

El uso de iframes para mostrar partes del mismo documento no es una buena práctica. Considere el documento como un todo y eso debería darle la respuesta. O considere que hay dispositivos que no funcionan bien cuando encuentran iframes. Y hablar de SEO es divertido. Los documentos sin encabezado de pie de página (por lo tanto, no hay enlaces internos), o con solo la navegación apuntando a otras envolturas iframe, no funcionan bien.

Si su objetivo es evitar el uso de un lenguaje dinámico, ¿qué hay de ir para SSI (Server Side Includes)?

+0

¿algún ejemplo de dispositivo que no funciona bien con iframe? Además, no estoy seguro de qué problema tiene iframe exactamente. Me parece que iframe está recogiendo más uso como mecanismo para widgets ... server side include es interesante, pero quiero evitarlo si puedo. (Esto significa que tengo que lidiar con la configuración del servidor, que a menudo no está bajo mi control, y algunos de mis proyectos html son libros independientes descargables). –

+0

No todos los navegadores móviles saben cómo tratar con iframes, y de todos modos, la pérdida de SEO es motivo suficiente para evitarlos. Por lo general, no tiene que cambiar ninguna configuración para usar SSI. ¿Lo has intentado y has fallado? – maus

+0

si, mi archivo de encabezado incluye todas las secuencias de comandos, si me aparece/incluye el encabezado en todos los archivos, entonces se recarga, significa que cada paquete de actualización de secuencia de comandos como carga de encabezado! ? –

2

No necesita pasar a una solución totalmente dinámica. Considera esta simple solución de 3 pasos, suponiendo que estás en Apache.

  1. agregue un archivo llamado .htaccess en su directorio raíz con el texto AddType application/x-httpd-php .html en él. Esto hace que apache analice cualquier código php en un archivo html.
  2. Ponga <?php include('header.html'); ?> en la parte superior de cada página.
  3. Crear una sola página header.html que luego se mostrará en cada otra página html.
+0

mi archivo de encabezado incluye todos los scripts, si aparece/incluyo el encabezado en todos los archivos, luego vuelvo a cargar, significa que cada paquete de actualización de scripts se vuelve a cargar como encabezado! ? –

+0

@Shahid, sí, cada vez que su página se carga, el archivo de encabezado incluido se "recarga". Pero eso no es diferente de si el código de su archivo de encabezado estaba en su archivo principal. – JakeParis

+0

¡Bien! Pero quiero detener el archivo de encabezado en "RELOAD"? ¡pero incluye! –

0

No, por favor, no use iframes. Me temo que estás usando un mal enfoque.

Tienes que moverte a algo un poco más avanzado (nada realmente complicado). Sólo un par de escenarios:

  1. No hay mucho de un programador -> intentar Joomla (http://www.joomla.org/) Pues muy fácil, sólo tienes que tomar una buena plantilla y crear artículos (tonto CMS) con el fin de construir los molinos . de páginas.
  2. Me gusta JAVA? Derecha -> intente hacer una aplicación web con includes o tiles
+0

mi archivo de encabezado incluye todas las secuencias de comandos, si incluyo el encabezado en todos los archivos, luego vuelvo a cargar, significa que cada paquete de actualización de secuencia de comandos como recarga de encabezado! ? –

Cuestiones relacionadas