¿Por qué los desarrolladores no deberían usar iframes?

Entre los muchos otros problemas de usabilidad que causan los iframes, para un desarrollador, los iframes incurren en una gran cantidad de restricciones de implementación y problemas de mantenimiento .

Los iframes generalmente significan organizar su aplicación de una manera que no refleje realmente el flujo de lógica que está experimentando el usuario final . Hace que diagnosticar problemas sea más difícil y, en mi experiencia, requiere que mantenga más partes móviles en su cabeza a la vez.

También hay algunas limitaciones de los iframes que generalmente deben tratarse y, a menudo, de maneras únicas por navegador . Especialmente algo tan simple como establecer las dimensiones puede ser una molestia. Por lo general, la codificación rígida no funciona de la manera esperada, ya que los diferentes tipos de fuentes de navegador / tamaño de os son ligeramente diferentes y las dimensiones generales de la página iframed podrían ser diferentes para cada navegador. Por lo general, recurre a algún tipo de pirateo de JavaScript de estilo de comunicación entre procesos para que todo funcione. No es divertido. Esto es básicamente lo mismo para cualquier cosa AJAXy también.

Causan problemas de usabilidad:

  1. La URL de la página principal ya no cambia.
  2. Los botones “atrás” y “adelante” del navegador podrían no funcionar como se esperaba
  3. No hay forma de vincular directamente a una página que contenga algo más que la URL inicial del iframe
  4. No siempre se puede predecir el tamaño del contenido que se muestra dentro, lo que provoca barras de desplazamiento al menos en una dimensión

Imagine este escenario, el usuario está en una página con un iframe y profundiza en algunas “páginas” dentro del iframe. En lugar de presionar “eliminar” para regresar, presionaron el botón Atrás. El navegador los lleva a la página anterior a la que se accede fuera del iframe, lo que hace que pierdan su ubicación.