2012-03-27 84 views
2

我正在使用fancybox插件,我试图将它发送到父窗口。我在一个页面上工作,但是当我把它带到另一个页面时,它是幻灯片的一部分,我收到一个错误,说它“不是一个函数”。根据我的理解,我所需要做的就是在父页面上实现插件。如果有人能帮我找出这是为什么会引发这个错误,我真的很感激它!Fancybox从iframe到父

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

第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

是这样的? http://stackoverflow.com/a/8855410/1055987 – JFK 2012-03-27 16:01:23

+0

我试过这个,但它仍然会引发一个错误。我将对象放在HTML中,然后放到Javascript中,然后放回到HTML中。这可能是问题吗? – Dandy 2012-03-27 17:58:47

+0

我相信我知道问题是什么。我有一个带有iframe的页面,iframe正在为每张幻灯片插入其他iframe。所以这是父母,但父母是在一个iframe中。有没有办法定位父母的父母? – Dandy 2012-03-27 19:10:35

回答

2

固定!

基本上我是针对错误的父母。我的目标是作为父母的iframe。通过为框架添加另一个“.parent”对象来修复它。

window.parent.parent.$.fancybox 

代替

window.parent.$.fancybox 

活泉!