load () + Lightbox no funciona solo en IE 8

Esta vez, es un poco diferente a mis publicaciones anteriores. Entonces decido hacer uno nuevo.

Para su información, uso el complemento Lightbox de esto: http://leandrovieira.com/projects/jquery/lightbox/

ePC.html = contiene una imagen con efecto lightbox (funciona con IE, Chrome, Firefox).

reviews.html = Página de inicio. conéctese a scripts / script.js. (Contiene la función .load (), cargando ePhone.html o ePC.html haciendo clic en uno de esos 3 enlaces). Ignore "ePhone.html". A continuación se muestra el archivo scripts / script.js:

$(document).ready(function() {
    //ePhone link is clicked. Open ePhone.html PLEASE IGNORE THIS LINK.
    $('#linkEPhone').click(function() {
        $('#apDiv2').load('ePhone.html');
    });

    //ePC link is clicked. Open ePC.html
    $('#linkEPC').click(function() {
        $('#apDiv2').load('ePC.html', function () {
             $('a[@rel*=lightbox]').lightBox();
       });

    });

    //ePC2 link is clicked. Open the <div> section of ePC.html. The image is located inside the <div> section.
    $('#linkEPC2').click(function() {
                $('#apDiv2').load('ePC.html #content', function () {
                 $("head").append($("<link rel='stylesheet' href='css/jquery.lightbox-0.5.css' type='text/css' media='screen' />"));
                 $.getScript('js/jquery.js', function() {
                  $.getScript('js/jquery.lightbox-0.5.js', function() {
                         $('a[@rel*=lightbox]').lightBox();
                 });
                });
       });

    });
});

El problema está en el tercero de arriba: $ ('# apDiv2'). load ('ePC.html #content', function () {...

'#content es id. Y la imagen está dentro de la etiqueta dentro de "ePC.html"

<div id=content>
<a rel="lightbox" href="images/bird.jpg"><img src="images/bird_s.jpg" width="72" height="72" alt="" /></a>
</div>

FUNCIONA 100% en Chorme y Firefox pero NO explorador de Internet 8!!!!. (Entiendo por qué la gente odia IE ahora ...) ¡IE se estrelló !. Más tarde solucioné este problema de bloqueo eliminando el! DOCTYPE..within "reviews.html" Ok, con! DOCTYPE eliminado, IE ya no se bloquea. SIN EMBARGO, ¡el CSS de la caja de luz NO SE APLICA a la imagen!

Otros métodos que probé pero no funcionaron: *1. "en vivo" en lugar de "cargar":*

$('#linkEPC2').click(function() {
                    $('#apDiv2').live('load', 'ePC.html, #content', function(){
                     $("head").append($("<link rel='stylesheet' href='css/jquery.lightbox-0.5.css' type='text/css' media='screen' />"));
                     $.getScript('js/jquery.js', function() {
                      $.getScript('js/jquery.lightbox-0.5.js', function() {
                             $('a[@rel*=lightbox]').lightBox();
                     });
                    });
           });

        });

Éste no funciona en absoluto. Incluso la imagen no existe en absoluto. Así que supongo que puedo seguir con la función "load ()" en su lugar.

2. También intenté poner estas 3 líneas en la sección div:

<div id=content>
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
    <a rel="lightbox" href="images/bird.jpg"><img src="images/bird_s.jpg" width="72" height="72" alt="" /></a>
    </div>

pero tampoco funciona ...

preguntado el 09 de enero de 11 a las 02:01

está usando $ .getScript para cargar js / jquery.js, no es necesario porque ya lo está usando (esto puede causar un conflicto), intente cambiar la carga de: 'ePC.html, #content' a 'ePC.html #content', intente adjuntar ese script y css en la cabeza manualmente, elimine @ del selector (no creo que ayude, pero :)), avíseme :) -

Gracias, pero lo probé y tampoco funciona. Por cierto, tengo que cargar js / jquery.js o / w el efecto de caja de luz no funcionará en absoluto. -

¡Oh, sí, funciona ahora !: agrego la línea css en el div (sin esas 2 líneas de scripts) y funciona en IE ahora ¡Estupendo! ¡Gracias! -

1 Respuestas

Tuve el mismo problema y noté algunas cosas sobre la carga de jQuery en IE:

  1. No acepta la sintaxis de 'load("href selector",function()...'(mientras que Chrome y FireFox aceptan esta sintaxis).
  2. El html cargado no debe incluir etiquetas.

Respondido 20 Oct 12, 13:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.