Is it possible to extend content beyond the bounds of an iframe?
In my case, I was formerly rendering a native <select>
control inside of an iframe. As a native control, when it rendered, the dropdown was able to occupy space outside of the iframe. I recently converted the dropdown to use select2, which rebuilds the dropdown using various <span>
elements.
The problem is now it gets cutoff within the <iframe>
:
I've tried setting the overflow to visible, but that doesn't work:
iframe {
overflow: visible
}
JavaScript:
$("#OpenSelect2").click(function(){
OpenPagePopup("select2.html", "Select 2", 150, 400);
});
//Open Diagnosis Control for editting
function OpenPagePopup(location, title, ht, wt) {
$('<div>')
.append($('<iframe/>', {
'class': "fullFrame",
'src': location
}))
.dialog({
autoOpen: true,
modal: true,
height: ht,
width: wt,
title: title
});
}
index.html:
<button id="OpenSelect2">Open Modal with Select2</button>
select2.html:
<select class="select2">
<option value="AZ">Arizona</option>
<option value="CO">Colorado</option>
<option value="ID">Idaho</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NM">New Mexico</option>
<option value="ND">North Dakota</option>
<option value="UT">Utah</option>
<option value="WY">Wyoming</option>
</select>
<script >
$('.select2').select2();
</script>
DON'T USE IFRAMES! Yeah, I know, I know, but this is the situation I find myself maintaining.
Approach 1: For adding additional div's in an iframe, you need to use a wrapper div, that wraps the contents of your intended div and the iframe into one unit. This way you can display the contents of your div along with the iframe embedding to the document/webpage.
Answer: Use the contentWindow Property You can use the JavaScript contentWindow property to make an iFrame automatically adjust its height according to the contents inside it, so that no vertical scrollbar will appear.
<iframe src="" width="" height=""> The width and height attributes of the IFRAME element specifies the width and height of the iframe. This can be specified with CSS.
No. There is no way to extend content outside of an iframe. Think of it as another browser window entirely.
The reason that the options will extend below the iframe is that form elements follow their own rules. They differ from browser to browser, and for some of the elements you can't change the styling. When you use select2 it turns the form into a regular element (not a default form element), so you can manipulate the style. Unfortunately, this also makes it confine to the iframe.
Consider that a browser can also do this (but it doesn't mean you can):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With