Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/08/2019, 06:54
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Respuesta: Detectar resolución con javascript y luego activar o desactivar un include

Hola de nuevo.

Parece que finalmente he encontrado la solución de esta manera.

Primero meto en el template general de la web antes del header este script para crear una cookie con el ancho actual de pantalla.

Código Javascript:
Ver original
  1. <!--=====================================
  2.         COOKIE MASTER RESPONSIVE INCLUDES ASIDE
  3.         ======================================-->  
  4.         <script src="<?php echo $url; ?>views/js/jquery.cookie.js"></script>
  5.         <script type="text/javascript">
  6.             function setScreenHWCookie() {                
  7.                 var resolucion = $( window ).width();
  8.                 $.cookie('ancho',resolucion);      
  9.                
  10.                 return true;
  11.             }
  12.             setScreenHWCookie();
  13.         </script>

Luego justo debajo le añado el valor del ancho del script anterior a php y a la vez creo la variable de cargar o no los dos includes.

Código PHP:
Ver original
  1. <?php        
  2.         if($_COOKIE['ancho'] <= 767){
  3.            //echo "No cargo includes";
  4.             $cargarInclude = 0;
  5.         }
  6.         else{
  7.             //echo "Si cargo includes";
  8.             $cargarInclude = 1;
  9.         }?>

Y ya luego en el resto de contenidos del template en la zona de carga de cada include.php dentro de los asides laterales le añado esta parte final en php y listo:

Código PHP:
Ver original
  1. <?php
  2. if($cargarInclude == 1){
  3.    
  4.     include "modules/aside-izq.php";
  5.         include "modules/aside-der.php";
  6.  
  7.  }
  8.  else{
  9.     //echo "No meto ningún include aside";
  10. }
  11. ?>

Así parece que por fin google insight no carga o no lee o tiene en cuenta esos dos includes php aun estando debajo de 767 pixeles ya que incluso antes cuando ya desaparecían ya con el css de media queries responsive los seguía teniendo en cuenta, además ahora pasa de 39 a 75 puntos como mínimo.

No sé si es la mejor manera, supongo que se puede mejorar pero al menos parece que por ahora funciona perfectamente.

La cookie de este script la he descargado de este enlace, lo dejo aquí por si le puede servir a alguien más.

https://github.com/carhartl/jquery-cookie

Gracias de nuevo a todos por vuestra ayuda, saludos.