Foros del Web » Programando para Internet » Javascript »

window.innerWidth para Internet Explorer

Estas en el tema de window.innerWidth para Internet Explorer en el foro de Javascript en Foros del Web. Hola, Utilizo una función en mi blog de wordpress para que cuando los usuarios entren desde un movil no se muestren los anuncios. Utilizo esto ...
  #1 (permalink)  
Antiguo 04/01/2015, 14:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años, 1 mes
Puntos: 1
window.innerWidth para Internet Explorer

Hola,

Utilizo una función en mi blog de wordpress para que cuando los usuarios entren desde un movil no se muestren los anuncios. Utilizo esto exactamente:

Código:
<div id="adsense_a_eliminar">
        <script type="text/javascript">
            var ads = document.getElementById('adsense_a_eliminar');
            if (window.innerWidth <= 400) {
                ads.parentNode.removeChild(ads)
            };
        </script>
        {CODIGO ADSENSE}
</div>
El problema es que cuando alguien entra desde internet explorer desde un movil los anuncios sí se ven. He estado leyendo e investigando y creo entender que es por el innerWhidt que en internet explorer no funciona. Cómo podría arreglarlo?

Por cierto no tengo ni la menor idea de JavaScript.

Gracias y saludos
  #2 (permalink)  
Antiguo 04/01/2015, 16:42
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 1 mes
Puntos: 131
Respuesta: window.innerWidth para Internet Explorer

Pues a mi parecer esto puedes lograrlo con CSS

Código CSS:
Ver original
  1. @media screen and (max-width: 400px)
  2. {
  3.  
  4. #adsense_a_eliminar
  5. {
  6. display:none;
  7. }
  8.  
  9. }

saludos
  #3 (permalink)  
Antiguo 05/01/2015, 05:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: window.innerWidth para Internet Explorer

Hola hackjose,

Gracias por tu respuesta. Pero de esa forma no se le hacen solicitudes al servidor de adsense verdad?

Es que no se le pueden hacer solicitudes aunque no se muestre el anuncio y como yo no tengo ni idea pregunté y me explicaron que con el código JavaScript ese que tengo no se le pedían solicitudes al servidor de google.

De nuevo gracias.
  #4 (permalink)  
Antiguo 06/01/2015, 04:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: window.innerWidth para Internet Explorer

Ya que estás con php, una solución mejor es no cargar directamente todo ese bloque de anuncios cuando sea un móvil. Para eso puedes utilizar la librería Mobile-detect de Serban Ghita y Victor Stanciu:

https://github.com/serbanghita/Mobile-Detect

Es fácil de usar:

1. Se descarga desde github y se sube al server:

2. Se incluye en la página web mediante la sentencia

Código HTML:
require_once ('Mobile_Detect.php');
3. Se crea una instancia:

Código PHP:
$detect = new Mobile_Detect(); 
4. Y ya se recurre a los condicionales que se necesiten:

Código HTML:
<?php
if ($detect->isMobile()) {
// Detecta si es un móvil
}
if ($detect->isTablet()) {
// Si es un tablet
}
if ($detect->isAndroidOS()) {
// Si es Android
}
if ($detect->isiOS()){
 //Si es iOS
}
?>
Por ejemplo, imaginemos que tenemos un script que carga un carrusell

Código HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
// aquí una barbaridad de código y librerías para que funcione el carrusel
</script>
</head>
<body>
// aquí una barbaridad de imágenes muy pesadas para el carrusel
</body>
</html> 
Ahora vamos a decirle que lo que hay entre las líneas 5 y 7, así como lo que hay en la línea 10, solo se cargue si el dispositivo no es un móvil (si la comprobación da false).

Código HTML:
<!DOCTYPE html>
<html>
<head>
<?php require_once ('Mobile_Detect.php');
$detect = new Mobile_Detect(); ?>
<title></title>
<?php if ($detect->isMobile()==false) { ?>
<script>
// aquí una barbaridad de código y librerías para que funcione el carrusel
</script>
<?php } ?>
</head>
<body>
<?php if ($detect->isMobile()==false) { ?>
// aquí una barbaridad de imágenes muy pesadas para el carrusel
<?php } ?>
</body>
</html> 
  #5 (permalink)  
Antiguo 08/01/2015, 11:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: window.innerWidth para Internet Explorer

Cita:
Iniciado por mmfilesi Ver Mensaje
Ya que estás con php, una solución mejor es no cargar directamente todo ese bloque de anuncios cuando sea un móvil. Para eso puedes utilizar la librería Mobile-detect de Serban Ghita y Victor Stanciu:

https://github.com/serbanghita/Mobile-Detect

Es fácil de usar:

1. Se descarga desde github y se sube al server:

2. Se incluye en la página web mediante la sentencia

Código HTML:
require_once ('Mobile_Detect.php');
3. Se crea una instancia:

Código PHP:
$detect = new Mobile_Detect(); 

4. Y ya se recurre a los condicionales que se necesiten:

Código HTML:
<?php
if ($detect->isMobile()) {
// Detecta si es un móvil
}
if ($detect->isTablet()) {
// Si es un tablet
}
if ($detect->isAndroidOS()) {
// Si es Android
}
if ($detect->isiOS()){
 //Si es iOS
}
?>
Por ejemplo, imaginemos que tenemos un script que carga un carrusell

Código HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
// aquí una barbaridad de código y librerías para que funcione el carrusel
</script>
</head>
<body>
// aquí una barbaridad de imágenes muy pesadas para el carrusel
</body>
</html> 
Ahora vamos a decirle que lo que hay entre las líneas 5 y 7, así como lo que hay en la línea 10, solo se cargue si el dispositivo no es un móvil (si la comprobación da false).

Código HTML:
<!DOCTYPE html>
<html>
<head>
<?php require_once ('Mobile_Detect.php');
$detect = new Mobile_Detect(); ?>
<title></title>
<?php if ($detect->isMobile()==false) { ?>
<script>
// aquí una barbaridad de código y librerías para que funcione el carrusel
</script>
<?php } ?>
</head>
<body>
<?php if ($detect->isMobile()==false) { ?>
// aquí una barbaridad de imágenes muy pesadas para el carrusel
<?php } ?>
</body>
</html> 
Muchas gracias mmfilesi, qué gran ayuda. Entonces para resumir,
1 ¿ése código funciona en todos los navegadores, incluido explorer?
2 ¿No estoy haciendo una llamada al servidor de adsense verdad?

Gracias de nuevo!
  #6 (permalink)  
Antiguo 09/01/2015, 11:21
 
Fecha de Ingreso: noviembre-2010
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: window.innerWidth para Internet Explorer

Cita:
¿ése código funciona en todos los navegadores, incluido explorer?
Sí, corre en el servidor.

Cita:
2 ¿No estoy haciendo una llamada al servidor de adsense verdad?
No.

Etiquetas: explorer, funcion, internet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:12.