2012-03-27 3 views
2

Ich benutze das fancybox plugin und ich versuche es an das Elternfenster zu senden. Ich habe es auf einer Seite arbeiten, aber wenn ich es auf eine andere Seite bringen, wo es Teil einer Diashow ist, erhalte ich einen Fehler, dass es "keine Funktion ist". Nach meinem Verständnis musste ich das Plugin nur auf der übergeordneten Seite implementieren. Wenn jemand mir helfen kann, herauszufinden, warum das diesen Fehler verursacht, würde ich es wirklich schätzen!Fancybox von iframe zu eltern

Seite 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> 

Seite 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

gefällt das? http://StackOverflow.com/A/8855410/1055987 – JFK

+0

Ich habe das versucht, aber es löst immer noch einen Fehler aus. Ich platziere die Objekte im HTML, dann im Javascript und dann wieder im HTML. Könnte das das Problem sein? – Dandy

+0

Ich glaube, ich weiß, was das Problem ist. Ich habe eine Seite mit einem iframe, und der iframe zieht andere iframes für jede Folie. Also geht es zum Elternteil, aber das Elternteil ist innerhalb eines iframe. Gibt es eine Möglichkeit, die Eltern eines Elternteils anzusprechen? – Dandy

Antwort

2

Fest!

Grundsätzlich zielte ich auf die falschen Eltern. Ich zielte auf einen iframe als Elternteil. Es wurde behoben, indem ein weiteres ".parent" -Objekt für den Rahmen hinzugefügt wurde.

window.parent.parent.$.fancybox 

statt

window.parent.$.fancybox 

Woot!