【问题标题】:Fancybox from iframe to parent从 iframe 到父级的 Fancybox
【发布时间】:2012-03-27 15:46:20
【问题描述】:

我正在使用 fancybox 插件,并试图将其发送到父窗口。我让它在一个页面上工作,但是当我把它带到另一个页面,它是幻灯片的一部分时,我收到一个错误,它“不是一个函数”。据我了解,我需要做的就是在父页面上实现插件。如果有人可以帮助我找出为什么会引发此错误,我将不胜感激!

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

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

【问题讨论】:

  • 我已经尝试过了,但它仍然会引发错误。我将对象放在 HTML 中,然后放在 Javascript 中,然后放回 HTML。这可能是问题吗?
  • 我相信我知道问题所在。我有一个带有 iframe 的页面,并且 iframe 正在为每张幻灯片拉入其他 iframe。所以它要去父级,但父级在 iframe 内。有没有办法针对父母的父母?
  • 已修复!基本上我的目标是错误的父母。我的目标是 iframe 作为父级。通过为框架添加另一个“.parent”对象来修复它。 --- window.parent.parent.$.fancybox --- 而不是 --- window.parent.$.fancybox ---- Woot!
  • 您可以发表该评论作为答案吗?这样就很明显你解决了你的问题(而且我们可以投票给你的答案)。

标签: javascript html fancybox


【解决方案1】:

已修复!

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

 window.parent.parent.$.fancybox

而不是

 window.parent.$.fancybox

哇!

【讨论】:

    猜你喜欢
    • 2012-02-09
    • 2014-12-13
    • 1970-01-01
    • 2014-07-04
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    相关资源
    最近更新 更多