8721 sujets

Développement web côté serveur, CMS

Bonjour,

voici mon problème :
j'ai une iframe contenu dans les pages mon site. Dans cet iframe j'ai des liens qui ouvrent des popups.
Est-il possible de faire ouvrir ces popups sur les pages du site et non dans l'iframe ?

Voici mes codes :

A/ Javascript dans le head de la page contenant l'iframe et dans le head de l'iframe :
<script type="text/javascript">
$(document).ready(function(){	
	        $('a.poplight').click(function(e) {
        		var popID = $(this).attr('rel'); 
        		var popURL = $(this).attr('href');
            var popTARGET = $(this).attr('data-target');        			
        		var popWidth = $(this).attr('data-width');
            var popHeight = $(this).attr('data-height');
        		$('#popup').fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="boutons/bt_communs/bt_close.png" class="btn_close" title="Fermer la fenêtre" alt="Fermer" /></a>');  		
            if(popHeight > 0)
            {
               $("#popup #lightbox").height(popHeight+"px");
            }
             
            if(popWidth > 0)
              $("#popup #lightbox").width(popWidth+"px");
        		var popMargTop = ($('#popup').height() + 60) / 2;
        		var popMargLeft = ($('#popup').width() + 20) / 2;
        		$('#popup').css({ 
        			'margin-top' : -popMargTop,
        			'margin-left' : -popMargLeft
        		});
        		$("#popup #lightbox").load(popTARGET);
		        
        		$('body').append('<div id="fade"></div>'); 
        		$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); 
        		e.preventDefault();
        		return false;
        	});
	
	$('a.close, #fade').live('click', function(e) {
	  		$('#fade , .popup_block, .popup_slide').fadeOut(function() {
			$('#fade, a.close').remove();  
		});		
   		e.preventDefault();
	});
	
});
</script>


B/ HTML dans l'iframe pour la commande de la popup :
<a href="popup/popup_conditionsgenerales.php" data-width="1020" data-height="650" data-target="popup/popup_conditionsgenerales.php?ajax" rel="popup_conditionsgenerales" class="poplight"><span class="txt_grisclair13"> Conditions générales</span></a>


Je sais que beaucoup de développeur détestent les iframes, mais j'ai choisi cette méthode pour n'avoir qu'une seule page à modifier.
Si quelqu'un a une solution, elle sera la bienvenue.
Merci.
Bonsoir thiath,
j'ai testé ce code et cela semble faire ce que tu demande :

<a href="" data-width="1020" onClick='window.open("popup_conditionsgenerales.php","popup",
               "width=250,height=150,left=30,top=20");return false'
           data-height="650" data-target="popup_conditionsgenerales.php?ajax" 
           rel="popup_conditionsgenerales" class="poplight"><span class="txt_grisclair13">
                Conditions générales</span>
        </a>


Tous est dans le onClick!

Le return false est à garder c'est pour qu'il ne tente pas le lien absent de href...
j'ai trouvé ce code ici :
http://www.crlf.be/pages/scripting/javascript/projets/page_09.php,
mais je l'ai utilisé il y a quelque temps...
Cordialement,
Bonne continuation