2010-02-10 4 views
3

Dans mon travail j'ai changé les boîtes de dialogue pour fancybox, tout est allé, même avec des problèmes mineurs, tels que le faire fonctionner sur pageload, mais rien que je ne pouvais pas gérer.Problème Fancybox lors du changement de href sur ie 7 et 6

mais maintenant, je suis confronté à un énorme obstacle:
comportement indomptable IE6 et IE7. J'ai besoin de changer l'adresse de l'endroit où fancybox va montrer. Je n'ai rien trouvé dans la documentation, sauf pour ajouter du contenu, mais pas un identifiant. Ma question est la suivante: où ai-je tort?

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title></title> 
<link rel="stylesheet" type="text/css" href="http://fancybox.net/js/fancybox/jquery.fancybox-1.3.0.css" media="screen" /> 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script> 
<script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.easing-1.3.pack.js"></script> 
<script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.mousewheel-3.0.2.pack.js"></script> 

<script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.fancybox-1.3.0.pack.js"></script> 

    <script> 

     $(document).ready(function() { 

     jQuery.fn.cornyBox = function(selector) { 

      if (selector) { this.attr('href', selector); } 

      $(this).fancybox(); 

     }; 


     //$('#aAlert').cornyBox(); 
     $('#aAlert').cornyBox('#dvAlert2'); 

     }); 


    </script> 
</head> 
<body> 
    <div id="alertHolder"> 
     <a id="aAlert" href="#dvAlert1" >hit me</a> 
     <div id="dvAlert1" class='alert'> 
      something 
     </div> 

     <div id="dvAlert2" class='alert'> 
      something else 
     </div> 
    </div> 
</body> 
</html> 

Si je $('#aAlert').cornyBox(); me pose aucun problème, car il est évident que je ne mets nouveau href sur le lien.
Fonctionne sur IE8, Firefox et Chrome. Dans IE6, IE7, pas, cependant.

+1

Bonjour, avez-vous trouvé une solution? J'ai un problème similaire, où les liens d'ancrage sont insérés dans le DOM avec ajax. IE7 fancybox ouvre le mauvais contenu. Fonctionne en chrome, ff, ie8 etc. – Keyo

+0

Désolé, mon garçon. J'ai même changé d'emploi, depuis cette période ... rss ... mais bon, tu as trouvé la solution –

Répondre

4

J'ai eu un problème similaire avec IE7 affichant le contenu html en ligne. Il affichait du contenu du corps que je n'avais pas sélectionné dans le href. Définir le paramètre de type à inline a semblé le réparer.

$('a.fancybox').fancybox({ 
    'type':'inline', 
});