<script>
function alertsize(pixels){
pixels+=32;
document.getElementById('myiframe').style.height=pixels+"px";
}
</script>
अब क्या होता है कि जब आईफ्रेम लोड हो जाता है तो यह मूल विंडो में जावास्क्रिप्ट को ट्रिगर करता है, जो इस मामले में आईफ्रेम धारण करने वाला पृष्ठ है।
उस जावास्क्रिप्ट फ़ंक्शन में यह भेजता है कि इसकी (iframe) ऊंचाई कितनी पिक्सेल है।
पैरेंट विंडो संख्या लेती है, स्क्रॉलबार से बचने के लिए 32 जोड़ती है, और आईफ़्रेम ऊंचाई को नए नंबर पर सेट करती है।
यही है, और कुछ भी आवश्यक नहीं है।
लेकिन अगर आप को पता है कुछ और छोटे चाल पढ़ने पर रखने की तरह है ...
IFRAME में गतिशील ऊँचाई? यदि आप मुझे सामग्री टॉगल करना चाहते हैं तो iframe ऊंचाई बदल जाएगी (पृष्ठ को पुनः लोड करने और अधिभार को ट्रिगर करने के बिना)। कि स्क्रिप्ट के
<script>
function toggle(obj) {
var el = document.getElementById(obj);
if (el.style.display != 'block') el.style.display = 'block';
else el.style.display = 'none';
}
</script>
सिर्फ जोड़ें:: मैं आमतौर पर एक बहुत ही सरल टॉगल स्क्रिप्ट मैं ऑनलाइन पाया जोड़ने
<script>
function toggle(obj) {
var el = document.getElementById(obj);
if (el.style.display != 'block') el.style.display = 'block';
else el.style.display = 'none';
parent.alertsize(document.body.scrollHeight); // ADD THIS LINE!
}
</script>
कैसे आप ऊपर स्क्रिप्ट का उपयोग करना आसान है:
<a href="javascript:toggle('moreheight')">toggle height?</a><br />
<div style="display:none;" id="moreheight">
more height!<br />
more height!<br />
more height!<br />
</div>
उन लोगों के लिए जो सिर्फ कट और पेस्ट करना चाहते हैं और वहां से जाते हैं, यहां दो पृष्ठ हैं। मेरे मामले में मैं उन्हें एक ही फ़ोल्डर में था, लेकिन इसे क्रॉस डोमेन भी काम करना चाहिए (मुझे लगता है कि ...)
पूरा होल्डिंग पेज कोड:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>THE IFRAME HOLDER</title>
<script>
function alertsize(pixels){
pixels+=32;
document.getElementById('myiframe').style.height=pixels+"px";
}
</script>
</head>
<body style="background:silver;">
<iframe src='theiframe.htm' style='width:458px;background:white;' frameborder='0' id="myiframe" scrolling="auto"></iframe>
</body>
</html>
पूरा iframe कोड: (यह iframe नाम "theiframe।htm ")
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>IFRAME CONTENT</title>
<script>
function toggle(obj) {
var el = document.getElementById(obj);
if (el.style.display != 'block') el.style.display = 'block';
else el.style.display = 'none';
parent.alertsize(document.body.scrollHeight);
}
</script>
</head>
<body onload="parent.alertsize(document.body.scrollHeight);">
<a href="javascript:toggle('moreheight')">toggle height?</a><br />
<div style="display:none;" id="moreheight">
more height!<br />
more height!<br />
more height!<br />
</div>
text<br />
text<br />
text<br />
text<br />
text<br />
text<br />
text<br />
text<br />
THE END
</body>
</html>
Demo
क्या यह वास्तव में क्रॉस डोमेन काम कर रहा है? मैंने कोशिश नहीं की लेकिन मुझे लगता है कि यह नहीं होना चाहिए। आप विभिन्न डोमा के माध्यम से जावास्क्रिप्ट तक नहीं पहुंच सकते इन। –
यदि आकार गलत है, तो आपको iFrame में अपने पृष्ठ के अंत में