2011-02-09 14 views
8

मैं आईफ़्रेम की ऊंचाई को इसके भीतर सामग्री में कैसे समायोजित करूं? मुझे लगता है कि आप सामग्री ऊंचाई और आईफ्रेम ऊंचाई (कुछ मुझे नहीं पता कि कैसे करना है) के बीच अंतर की गणना करेगा और ऊंचाई के रूप में उपयोग करने के लिए एक चर को बढ़ाने के लिए थोड़ी देर के साथ इसका उपयोग करें, लेकिन मैं अपना लपेट नहीं सकता वास्तव में इन चीजों को कैसे करना है इसके चारों ओर सिर। पूछने से पहले: हाँ, फ्रेम में सामग्री मेरी साइट से है। क्रॉस-डोमेन नहींआईफ्रेम ऊंचाई फिट सामग्री

+0

किसी को अभी भी फ्रेम का इस्तेमाल करता है? – yoda

+6

@ योडा का मतलब आईफ्रेम है, और इन्हें केवल Google और फेसबुक जैसे वेबस्पेयर में महत्वहीन कंपनियों द्वारा उपयोग किया जाता है। –

+0

तैयार सामग्री आपकी साइट में है? – Trufa

उत्तर

1

नहीं काफी यकीन है कि तुम क्यों, एक iframe और नहीं एक गतिशील भरा है, कहते हैं div उपयोग करने के लिए ajax के माध्यम से चाहते हैं, लेकिन:

एक div में iframe के भीतर सामग्री रखो, तो div की ऊंचाई मिलता है। मैं तो जैसे jQuery उपयोग करने का सुझाव चाहते हैं:

$("#divId").height(); 

लेकिन अगर आप jQuery का उपयोग नहीं कर सकते हैं, तो आप इस का उपयोग करने में सक्षम होना चाहिए:

document.getElementById("divId").offsetHeight; 

तो फिर तुम आइफ्रेम की ऊंचाई निर्धारित करने की आवश्यकता होगी जो भी आपको मिला

jQuery:

$("#iframeId").height($("#divId").height()); 

नियमित js:

document.getElementById("iframeId").style.height = 
document.getElementById("divId").offsetHeight; 
+3

यह काम नहीं करता है। आप iframe –

+3

के बाहर से iframe div तक नहीं पहुंच सकते हैं, हालांकि, आप यह कर सकते हैं: 'document.getElementById (" frameId ")। ContentWindow.document.getElementById (" id ")' – JCOC611

+0

@ JCOC611 'document.getElementById ("frameId")। contentWindow.document' को इन दिनों तक पहुंचने के लिए मना किया गया है, जहां तक ​​मैं देख सकता हूं (कम से कम एफएफ में) – YakovL

0
<iframe id="moo" src="something.html"><iframe> 
<script> 
function onContentChange(){ 
    var NewSize=$('moo').getScrollSize(); 
    $('moo').setStyles({ 
    width: NewSize.x, 
    height: NewSize.y 
    }); 
} 
</script> 

और somthing.html अंदर, नीचे या ऑनलोड घटना पर

window.parent.window.onContentChange() 
की तर्ज पर कुछ करना
+0

'' '$ ('# moo') होना चाहिए' '' यदि यह एक jquery कॉल होना चाहिए ... – Guntram

+0

जब मैंने इसे लिखा, तो मैं एक mootools आदमी था। –

0

गतिशील रूप से जावस्क में iframe प्रस्तुत करें एक बार कंटेनर तत्व ("td1") खींचा जाने के बाद रिप्ट खींचा गया है।

<script type="text/javascript"> 
    var iframesrc = "@Href("~/about")"; 
    function init() { 
    var vHeight = document.getElementById("td1").offsetHeight; 
    document.getElementById("td1").innerHTML="<iframe style=\"width:100%; height:" + vHeight + "px\" src=\"" + iframesrc + "\"></iframe>"; 
    } 
    window.onload = init; 
</script> 

...

<td id="td1" style="width: 100%; height:100%;">     
</td> 
0

यहाँ jQuery का उपयोग कर एक समाधान है:

$('#iframe').height($('#iframe').contents().find('body').height()); 
संबंधित मुद्दे