2012-04-08 13 views
5

मैंने colorbox jquery plugin के अंतिम संस्करण को डाउनलोड किया। अब मैं iframe और इनलाइन के लिए सही colorbox सेट। मेरी समस्या रंगबॉक्स (लाइटबॉक्स) ऑटो ऊंचाई/चौड़ाई बाहरी बाहरी पृष्ठ सेट नहीं है। इसे कैसे ठीक करें? इसके लिए एक रास्ता है?jQuery और रंगीन बॉक्स: iframe colorbox की ऊंचाई और चौड़ाई को स्वचालित रूप से सेट करने के लिए

मेरी colorbox समारोह:

<script> 
$(document).ready(function(){ 
$(".iframe").colorbox({inline:true,iframe:true}); 
</script> 

धन्यवाद

उत्तर

19

क्योंकि colorbox क्या iframe के भीतर है पता नहीं होगा, ऑटो आकार परिवर्तन जिस तरह से आप उम्मीद कर काम नहीं कर सकता।

मुझे लगता है कि जैसे कि यह कार्य करें:

{ iframe: true, innerWidth: 430, innerHeight: 370, scrolling: false, ... } 

एक आकार है, जो अपनी सामग्री के लिए सबसे फ़ायदेमंद का चयन करें:: colorbox खोलने और iframe लोड होगा जब इन विकल्पों के साथ colorbox खोलने एक डिफ़ॉल्ट चौड़ाई + ऊंचाई सेट इस बॉक्स में आइफ्रेम के एचटीएमएल शरीर के अंत में, इस छोटे से स्क्रिप्ट, जो iframe के भीतर से colorbox आकार बदलता है जगह: काम करने के लिए

$(function(){ 
    parent.$.colorbox.resize({ 
     innerWidth:$('body').width(), 
     innerHeight:$('body').height() 
    }); 
}); 

दूसरे पटकथा के लिए, jQuery iframe के भीतर लोड किया जाना चाहिए। अन्यथा आपको यह कार्य करने के लिए मूल जावास्क्रिप्ट का उपयोग करना होगा।

और सुनिश्चित करें कि उस आईफ़्रेम के अंदर की सभी छवियों की चौड़ाई/ऊंचाई सेट है या पूरी तरह से लोड हो गया है। अन्यथा आंतरिक विड्थ/आंतरिक हाइट गलत मान देगा।

+1

यह एक अच्छी लिपि है। साथ ही, यह समझें कि समस्या तकनीकी रूप से नहीं है कि कलरबॉक्स को यह नहीं पता कि आईफ्रेम में क्या है, बल्कि ब्राउजर को तब तक पता नहीं है जब तक सामग्री तार और डीओएम में नहीं आती है। –

+0

किसी ने आखिरकार एक कामकाजी समाधान पाया! धन्यवाद! दुर्भाग्यवश, – user1380540

+0

दुर्भाग्यवश, यह केवल तभी काम करता है जब आप अपने आईफ्रेम में मौजूद स्रोत के स्रोत को संशोधित कर सकते हैं। यदि आप कुछ लोड कर रहे हैं जिस पर आपका कोई नियंत्रण नहीं है, तो ऐसा लगता है कि आपका एकमात्र विकल्प ऊंचाई/चौड़ाई को मैन्युअल रूप से सेट करना है। –

संबंधित मुद्दे