दिलचस्प पोस्ट
क्या जेडीके "ऊपर" या "पिछड़ा" संगत है? मैं HttpServletReponses आउटपुट स्ट्रीम कैसे पढ़ सकता हूं? कैसे MVVM में एक PasswordBox के साथ बाध्य करने के लिए लुक एट मैट्रिक्स की गणना पूरे पृष्ठ लोड होने से पहले क्या मैं जावास्क्रिप्ट चला सकता हूँ? Xlsx को csv में लिनक्स कमांड लाइन में कनवर्ट करें दूसरे वेबसाइट पर रेल में नियंत्रक से डाक डेटा जमा करना सूचक अंकगणित एक स्ट्रिंग में एक चरित्र की Nth घटना का पता लगाएं स्थानीय फ़ाइल सिस्टम से jQuery अजाक्स अनुरोध (Windows फ़ाइल: ///) मेवेन 2 के साथ एक रननबल जार का निर्माण "सहकर्मी द्वारा कनेक्शन रीसेट" मतलब क्या है? ची स्क्वायर विश्लेषण में आर के लिए लूप का उपयोग करना क्या C ++ या C में foo (void) और foo () के बीच अंतर है? सूची की प्रतिलिपि करने का सबसे अच्छा तरीका क्या है?

iframe से अभिभावक में Fancybox को कॉल करें

मेरे पास 2 पृष्ठ हैं, मेरी index.html और social.html। मैंने अपना सूचकांक साफ कर दिया है और केवल jquery कोड को fancybox के लिए छोड़ दिया है जो मैं करने की कोशिश कर रहा हूं वह सामाजिक.html के भीतर छवियां होनी चाहिए और उस पर क्लिक किया जाने पर, यह फ़ैंक्सबॉक्स खोल सकता है और इसे दिखाता है, लेकिन index.html में iframe के अंदर नहीं है । त्रुटि आती है:

Uncaught TypeError: Property 'showImage' of object [object DOMWindow] is not a function (anonymous function)social.html:103 onclick 

यह मेरी index.html है:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.fancybox-1.3.4.pack.js"></script> <link rel="stylesheet" type="text/css" href="css/jquery.fancybox-1.3.4.css" media="screen" /> <script type="text/javascript" src="js/video.js"></script> <script type="text/javascript"> function showImage(image) { $.fancybox('<img src="img/' + image + '" alt="" border="0" />'); }; </script> </head> <body> <iframe src="social.html" scrolling="no" border="0" width="579" height="505" allowtransparency="true"></iframe> </body> </html> 

आईफ्रेम पृष्ठ में:

  <img src="img/picture1.jpg" alt="" class="thumbs" onclick="parent.showImage('picture1.jpg');"/> 

पुनश्च: दोनों पृष्ठ एक ही डोमेन पर हैं … संपादित करें: video.js -> यह फैंसीबॉक्स से है, मैंने इसे नहीं बनाया है।

 jQuery(document).ready(function() { $(".video").click(function() { $.fancybox({ 'padding' : 0, 'autoScale' : false, 'transitionIn' : 'none', 'transitionOut' : 'none', 'title' : this.title, 'width' : 640, 'height' : 385, 'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'), 'type' : 'swf', 'swf' : { 'wmode' : 'transparent', 'allowfullscreen' : 'true' } }); return false; }); }); 

वेब के समाधान से एकत्रित समाधान "iframe से अभिभावक में Fancybox को कॉल करें"

सबसे पहले, आपको एफएएनबीसी v2.x का उपयोग करने के लिए सहज से करना चाहिए (patching fancybox v1.3.x प्रयास के लायक नहीं है)

दूसरा, आपको दोनों पृष्ठों में, माता-पिता पृष्ठ और आइफ्रेम पृष्ठ, लोड किए गए jquery और fancybox सीएसएस और जेएस फाइल्स में फ़ैंसीबॉक्सी ठीक से पार करने की आवश्यकता है,

इसलिए दोनों पृष्ठों में आपको कम से कम कुछ ऐसा होना चाहिए:

 <link rel="stylesheet" type="text/css" href="fancybox2.0.4/jquery.fancybox.css" /> 

तथा

 <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="fancybox2.0.4/jquery.fancybox.js"></script> 

तो आपके आइफ्रेम में (बाल) पेज में आपकी स्क्रिप्ट मूल रूप से एक समान है (लेकिन v2.x के लिए सही फ़ैक्सबॉक्स विकल्पों के साथ … यहां दस्तावेज की जांच करें )

 $(".video").click(function() { $.fancybox({ 'padding' : 0, // more options (v2.x) etc 

लेकिन इस के बजाय

  $.fancybox({ 

यह करो:

  parent.$.fancybox({ 

तो फ़ैंज़बैक्स आइफ्रेम पृष्ठ की सीमाओं के बाहर मूल पृष्ठ में दिखाई देगा

अद्यतनः डेमो पृष्ठ यहां

चूंकि आईआईजी एक आईफ्रेम पर है एक अलग वेबपेज है। तो Jquery index.html पर है, लेकिन आईएमजी नहीं है, इसलिए JQuery कैंट छवि पर पहुंचने के लिए नहीं है।

शायद इस तरह से कुछ का उपयोग कर … लेकिन मुझे नहीं लगता कि यह काम करेगा

Index.html स्क्रिप्ट भाग पर

 $(document).ready(function () { //function to active fancybox on the thumbs class inside the iframe //Not sure it works on iframes, probably it doesnt. $("#iframeID.thumbs").fancybox(); }); 

और iframe घोषणा <iframe src = \ "social.html \" id = "iframeID" आदि के लिए आईडी जोड़ें … बाकी गुण>

लेकिन, मेरी सलाह है कि आईफ्रेम के बजाय डिवीज़ का उपयोग करें। आपको छवि से ऑनक्लिक को गैर-अस्पष्ट जावास्क्रिप्ट के लिए निकाल देना चाहिए।

ट्यूटोरियल की जांच करें: http://fancybox.net/howto अगर आप स्पैनिश में एक समान ट्यूटोरियल चाहते हैं तो आप मेरी साइट भी देख सकते हैं।

Ive पहले इस समस्या का सामना करना पड़ा और एक समाधान खोजने के लिए सक्षम था। यहाँ क्या iv किया है मेरे आइफ्रेम पृष्ठ में मैं मूल उदाहरण को onClick="callMe('www.google.com')" साथ पैरेंट विंडो कहलाता हूं onClick="callMe('www.google.com')" या यदि चित्र "/images/pics.png" और मेरे माता-पिता के पृष्ठ में इस स्क्रिप्ट को कॉल करते हैं

 <script type="text/javascript"> function callMe(site){ $(".sample").fancybox({ 'width' : '97%', 'height' : '97%', 'href' : ''+site+'' //force href to change its site from the call function in the iframe page }); readyFancy() call to trigger the decoy link page } function readyFancy(){ $("a.sample").trigger("click"); } </script> 

मेरे माता पिता के एचटीएमएल में हम एक भोले लिंक (यह एक लोड फेंसीबॉक्स पर उदाहरण से है)

 <body> <a href="#" class="sample"></a> </body> 

आप यहाँ एक कामकाजी उदाहरण डाउनलोड कर सकते हैं .. https://docs.google.com/file/d/0B1TI7BdxGAbvYzBiZjNiMDYtNjY4ZS00NDczLWE2YjQtODNlMjU4YTNjYWI0/edit?authkey=CP_H9RAC