Foros del Web » Creando para Internet » CSS »

NO llamar script si el navegador es internet explorer

Estas en el tema de NO llamar script si el navegador es internet explorer en el foro de CSS en Foros del Web. Hola tengo una duda, resulta que estoy usando una libreria de google para mostrar un feed y con internet explorer me marca el siguiente mensaje ...
  #1 (permalink)  
Antiguo 08/07/2010, 10:49
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta NO llamar script si el navegador es internet explorer

Hola tengo una duda, resulta que estoy usando una libreria de google para mostrar un feed y con internet explorer me marca el siguiente mensaje de error:

Cita:
google no esta definido gfeedfetcher.js
Lo que intente hacer es comentarlo para que no mostrara ciertos divs:

Código CSS:
Ver original
  1. <!--[if IE]>
  2. <style>
  3.   #script {display:none}
  4.   #feed {display:none}
  5. </style>
  6. <![endif]-->

pero aun asi me sigue marcando el error en la barra de estado, alguien sabe como no llamar los script si usamos ie?

saludos.
  #2 (permalink)  
Antiguo 08/07/2010, 14:51
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 22 años, 5 meses
Puntos: 22
Respuesta: NO llamar script si el navegador es internet explorer

Aplicándolo sobre el CSS sólo ocultas las capas pero no deshabilitas el script.
Puedes probar con:
Código HTML:
Ver original
  1. <![if !IE]>
  2. <script>...</script>
  3. <![endif]>

<![if !IE]> Viene a decir que si no es IE que procese el código.
  #3 (permalink)  
Antiguo 09/07/2010, 15:51
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 4 meses
Puntos: 361
Respuesta: NO llamar script si el navegador es internet explorer

Hola:

Partiendo de la base de que los comentarios condicionales funcionan EXLUSIVAMENTE en IE, ¿qué pasaría con la solución que has puesto?

1.- Si el navegador es IE:

Llegaría al comentario condicional y se encontraría con la declaración "Si no es IE...", pero si lo es con lo cual no lo ejecutaría ¿verdad?

2.- Si el navegador no es IE.

El comentario condicional no se ejecutaría porque solo funcionan en IE.

¿Correcto?

Saludos.

  #4 (permalink)  
Antiguo 09/07/2010, 17:27
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 22 años, 5 meses
Puntos: 22
Respuesta: NO llamar script si el navegador es internet explorer

Correcto, los comentarios condicionales sólo los reconoce IE.

Si el navegador es IE al leer <![if !IE]> responderá "false" a la condición "Si no es IE" y por tanto saltará hasta después de <![endif]> sin interpretar el código contenido en ese "comentario condicional".

Si el navegador no es IE como no reconoce los comentarios condicionales al leer <![if !IE]> no entenderá lo que dice y procesará el código contenido dentro del comentario condicional.
Notar que
Código HTML:
Ver original
  1. <![if !IE]> loquesea <![endif]>
no es realmente un comentario al uso, se trata de un "Downlevel-revealed Conditional Comment" que no respeta el formato de comentarios html
Código HTML:
Ver original
  1. <!-- comentario -->
Por este motivo el código contenido en este comentario condicional es visible en otros navegadores distintos a IE, pues al no estar entre <!-- y --> interpretan normalmente el código contenido en lugar de interpretarlo como un comentario. El ejemplo expuesto tiene el inconveniente de no validar.
Para solucionar el problema de validación se puede usar del siguiente modo:
Cita:
http://www.positioniseverything.net/...s/multiIE.html
To select exclusivly for any non IE - use " IE & !IE " for a downlevel-revealed within a downlevel-hidden CC
Código HTML:
Ver original
  1. <!--[if IE]><![if !IE]><![endif]-->  html  <!--[if IE]><![endif]><![endif]-->
En este ejemplo se usa un doble condicional. Cuando el navegador "es IE" comprueba "si no es IE" (para omitir el código contenido en el comentario condicional). Notar que ahora el comentario condicional es un comentario html válido pero que no envuelve el código contenido (fijarse en los elementos resaltados en negrita), por lo que todos los navegadores interpretarán el código a excepción de IE que revisará la condición !IE.
Cita:
<!--[if IE]><![if !IE]><![endif]-->
Espero que a pesar de ser una explicación del código algo rebuscada se entienda el funcionamiento. Evidentemente hay otros modos de detectar el navegador y de hecho, ya que se trata de no ejecutar unas funciones javascript, podría controlarse desde el propio código javascript si se quisiera.

Etiquetas: explorer, internet, llamar, navegadores
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 21:34.