Fancybox от iframe до родителя - PullRequest
2 голосов
/ 27 марта 2012

Я использую плагин 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>

1 Ответ

2 голосов
/ 30 марта 2012

Исправлено!

В основном я нацелился не на того родителя.Я был нацелен на iframe в качестве родителя.Исправлено, добавив еще один объект ".parent" для фрейма.

 window.parent.parent.$.fancybox

вместо

 window.parent.$.fancybox

Woot!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...