Я использую плагин 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>
Исправлено!
В основном я нацелился не на того родителя.Я был нацелен на iframe в качестве родителя.Исправлено, добавив еще один объект ".parent" для фрейма.
window.parent.parent.$.fancybox
вместо
window.parent.$.fancybox
Woot!