Me encantaría escuchar tu opinión sobre este problema en particular:

Estoy usando la funcionalidad del botón de LinkedIn y me gusta esto:

<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>

El único problema es que se presenta muy mal en IE6, por lo que todo lo que quiero hacer es ocultar ese botón en IE6, he pensado en usar <!--[if gte IE 7]>Javascript code here<![endif]--> pero eso también evitaría que se cargue en cualquier otro navegador que IE, otra opción sería usar jquery: if($.browser.msie && $.browser.version=="6.0"){ } pero ¿cómo hago eso con los archivos de JavaScript SRC?

¿Alguna idea? ¡Gracias!

3
Phil 20 may. 2011 a las 18:01

5 respuestas

La mejor respuesta

Dices que intentaste esto:

<!--[if gte IE 7]>Javascript code here<![endif]-->

Como usted dice, esto evitará que los navegadores que no sean IE vean el script.

Pero hay una manera de especificar comentarios condicionales que serán ignorados por otros navegadores. Todo lo que necesita hacer es soltar los guiones que lo convierten en un comentario, como este:

<![if gte IE 7]>Javascript code here<![endif]>

Esto ahora funcionará en todos los navegadores, excepto IE antes de IE7.

Consulte http://en.wikipedia.org/wiki/Conditional_comment para obtener más información.

(por cierto, fuera del tema, y estoy seguro de que ya has escuchado esto un millón de veces, pero recomendaría seriamente dejar de admitir IE6, ya prácticamente no hay nadie que lo siga usando)

3
Spudley 20 may. 2011 a las 14:11
if(! IE6){
    var script = document.createElement("script");
    script.src = "src_to_js_file";
    document.body.appendChild(script);
}

O simplemente use innerHTML para agregar las dos etiquetas de script a DOM。

0
wong2 20 may. 2011 a las 14:10
if($.browser.msie && $.browser.version=="6.0"){
  $('head').append('<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script><script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>')
}
0
sv_in 20 may. 2011 a las 14:13

Prueba esto

<!--[if ! lte IE 6]>Javascript code here<![endif]-->

O algo como esto

<!--[if (!IE)|(IE gt 6)]>Javascript code here<![endif]-->
0
Benjamin 6 ene. 2014 a las 16:54

Puede usar el método jQuery getScript

if(!($.browser.msie && $.browser.version=="6.0"))
    $.getScript('http://platform.linkedin.com/in.js');
0
Ortiga 20 may. 2011 a las 14:11