Soy un defensor del diseño web receptivo junto con el diseño web adaptativo (es decir, un diseño que ajusta la pantalla para todos los dispositivos y proporciona contenido según el tamaño del puerto de visualización) en lugar de diseños de sitios 'móviles' separados.
Hay algunos inconvenientes, por ejemplo, en pantallas grandes, me gustaría incluir algunos módulos que estarán ocultos para tamaños de ventana más pequeños. Sin embargo, en el caso de que un módulo esté oculto en función del tamaño de la ventana gráfica, cargar y ejecutar ese módulo provoca un impacto innecesario en el rendimiento cuando se sabe que el módulo específico nunca se mostrará en un tamaño de ventana gráfica más pequeño.
¿Cómo puedo usar el tamaño de la ventana gráfica para deshabilitar efectivamente un módulo (es decir, evitar que se ejecute) para acelerar el rendimiento?
No creo que deba deshabilitar módulos como ese y aún así llamarlo diseño receptivo. Parte del punto con responsive es que responderá a los cambios de viewport y no solo que imprime un diseño diferente para diferentes tamaños de pantalla.
Dependiendo de los tamaños de pantalla de ejemplo, es posible que una tableta en modo vertical haga que el módulo no se cargue, pero esa misma tableta podría necesitar ese contenido una vez en modo horizontal.
fuente
Esta es una clase JS que hice hace algún tiempo que podría usar JavaScript para detectar ventanas gráficas, nunca se ha sometido a pruebas rigurosas, pero funciona.
Básicamente lo usas así
El punto de interrupción tiene parámetros mínimos / máximos para el ancho, luego una función encadenada para ingresar y salir, con una devolución de llamada para ejecutar algún código JS.
No puedo detallar cómo funciona, ya que lo hice hace mucho tiempo, pero puedes usarlo si es útil. Esto se puede usar para cargar módulos a través de ajax en función de la ventana gráfica. Creo que com_ajax de joomla se puede usar con esto para crear algunas funciones realmente geniales.
fuente
Otra solución:
Puede utilizar una detección de dispositivo del lado del servidor como esta: http://mobiledetect.net/ aquí el complemento de Joomla http://www.yagendoo.com/en/blog/free-mobile-detection-plugin-for-joomla.html y luego extienda joomla / templates / yourtemplate / html / modules.php con su propio estilo mod_chrome. Luego, puede escribir tantas declaraciones php si desea para cualquier dispositivo o resolución.
fuente
Si desea acelerar el rendimiento, no cargue módulos innecesarios. Si no es necesario en pantallas pequeñas, tampoco es necesario en pantallas más grandes.
Las personas con pantallas de dispositivos más grandes también quieren un sitio web rápido que no cargue elementos innecesarios. Está asumiendo erróneamente que las pantallas más grandes tienen más ancho de banda disponible. Ellos no.
Sea un buen diseñador y brinde a todos sus usuarios una experiencia de sitio optimizada, independientemente de su tamaño de pantalla.
fuente
Sugeriría que el rastreo del navegador es la forma incorrecta de hacerlo aquí. Si realmente desea cargar solo módulos en función del ancho de la pantalla, debe ejecutar JavaScript, que luego llama al módulo por AJAX (com_ajax). Tenga en cuenta que puede haber una recompensa en términos de optimización de motores de búsqueda para contenido cargado por AJAX.
fuente
Generalmente uso css @media para que esto suceda. Simplifica la ocultación de elementos según el tamaño de la pantalla y hace que se analicen cuando la tableta horizontal es lo suficientemente ancha como para mostrarla y el ancho del retrato no lo es. Aquí hay un ejemplo:
Usualmente uso esto para ocultar una posición completa del módulo, así que baso mi selector css en el contenedor de esa posición (o posiciones en algunas plantillas).
fuente
Puede cargarlo a pedido utilizando algunos javascript que llaman a com_ajax y devuelve solo los módulos para el tamaño actual.
fuente
Puede usar el sufijo del módulo en combinación con consultas de medios. Muchos marcos de plantillas tienen esto ya incorporado, donde puede agregar una clase de "teléfono oculto" para que no se muestren en el móvil. Los llaman clases CSS Helper:
GANTRY: http://www.gantry-framework.org/documentation/joomla/advanced/responsive_grid_system.md
WARP: http://www.yootheme.com/blog/2012/06/12/warp-gets-responsive
fuente