2012-03-27 9 views
2

J'utilise le plugin fancybox et j'essaye de l'envoyer à la fenêtre parente. Je l'ai en train de travailler sur une page, mais quand je l'amène à une autre page où cela fait partie d'un diaporama, je reçois une erreur disant que "ce n'est pas une fonction". D'après ce que j'ai compris, tout ce que je devais faire était d'implémenter le plugin sur la page parente. Si quelqu'un peut m'aider à trouver pourquoi cela soulève cette erreur, je l'apprécierais vraiment!Fancybox de iframe à parent

page 1

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" type="text/css" href="http://www.localdtvdealer.com/page.aspx?QS=5c591a8916642e737e93c01412d56d5ae266a22b4f55b9f9a54ed7191c748091" /> 
<link rel="stylesheet" type="text/css" href="http://image.iloqal.com/lib/fe60157077600275741d/m/1/zipCodeWindowCSS.css" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
<script type="text/javascript" src="http://www.localdtvdealer.com/page.aspx?QS=5c591a8916642e73c41f320542ef4912ec966ef60dc239352e9e3ff3a33d77cf"></script> 

<link rel="stylesheet" type="text/css" href="http://image.iloqal.com/lib/fe5c1570746107757c1c/m/1/DTVLBjqueryfancybox.css" /> 
<script type="text/javascript" src="http://image.iloqal.com/lib/fe5c1570746107757c1c/m/1/DTVLBjqueryfancybox2.js"></script> 
<script type="text/javascript"> 
var corpID = "44444"; 

$(document).ready(function() { 
     if($("#contentPane").length && getCookie("Offer")) 
     { 
      SetIFrameSource("contentPane","http://www.localdtvdealer.com/BMI/Carousel/iframe/?cid=" + corpID); 
      $("#lblLocation").text(getCookie("Location")); 
     } 

    }); 

</script> 
</head> 
<body> 
<iframe src="" width="720" height="446" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" id="contentPane"></iframe> 
</body> 

page 2

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
<script type="text/javascript" src="http://image.iloqal.com/lib/fe60157077600275741d/m/1/ZipCodeWindowLogoExplosion.js"></script> 

<link rel="stylesheet" type="text/css" href="http://image.iloqal.com/lib/fe5c1570746107757c1c/m/1/DTVLBjqueryfancybox.css" /> 
<script type="text/javascript" src="http://image.iloqal.com/lib/fe5c1570746107757c1c/m/1/DTVLBjqueryfancybox2.js"></script> 

<script type="text/javascript"> 

    function reqParam(name) 
     { 
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
      var regexS = "[\\?&]"+name+"=([^&#]*)"; 
      var regex = new RegExp(regexS); 
      var results = regex.exec(window.location.href); 
      if(results == null) 
       return ""; 
      else 
       return results[1]; 
     } 

    $(document).ready(function() { 
     if($("#contentPane").length && getCookie("Offer")) 
     { 
      SetIFrameSource("contentPane","http://www.localdtvdealer.com/" + getCookie("Offer").toUpperCase() + "LogoExplosion"); 
      $("#lblLocation").text(getCookie("Location")); 
     } 
     setSrcDynamically(); 
    }); 


    (function() { 
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
    po.src = 'https://apis.google.com/js/plusone.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
    })(); 
</script> 

</head> 

<body> 
<iframe name="base" id="base" class="iframe" src="" overflow="auto;" width="712px" height="397px;" frameborder="0"></iframe> 
<script type="text/javascript"> 
<!-- 
     function setSrcDynamically() 
      { 
       var pvalue=reqParam('p'); 
       var i = document.getElementById('base'); 
       i.src="http://www.localdtvdealer.com/justintest3/#"+pvalue; 

      } 
     //--> 
    </script> 
</body> 
+0

comme ça? http://stackoverflow.com/a/8855410/1055987 – JFK

+0

J'ai essayé ceci mais il soulève toujours une erreur. Je place les objets dans le HTML puis dans le Javascript puis dans le HTML. Est-ce que ceci pourrait être le problème? – Dandy

+0

Je crois savoir quel est le problème. J'ai une page avec un iframe, et l'iframe tire d'autres iframes pour chaque diapositive. Donc ça va au parent, mais le parent est dans un iframe. Existe-t-il un moyen de cibler le parent d'un parent? – Dandy

Répondre

2

fixe!

Fondamentalement, je visais le mauvais parent. Je ciblais un iframe en tant que parent. Le corrige en ajoutant un autre objet ".parent" pour le cadre.

window.parent.parent.$.fancybox 

au lieu de

window.parent.$.fancybox 

Woot!

Questions connexes