iframe Yüksekliği

0
Onaylı Üye
Üye
Katılım
8 Şubat 2003
Mesajlar
1,465
Tepki puanı
0
bu vereceğim kod, iframe'in içinde açtırdığınız sayfaya göre yüksekliği değiştiriyor.

Kod:
<script type="text/javascript">

/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["myframe"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight; 
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller

</script>

Kod:
	  <iframe name="addmin" id="myframe"  src="lal.asp"  scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none"></iframe>

çok güzel bi kod, yanlız sayfa yüklenmeden yüksekliği değiştirmiyor o biraz sorun...
 
0
Onaylı Üye
Üye
Katılım
4 Ağustos 2006
Mesajlar
336
Tepki puanı
0
Çok teşekkürler.
Aslında böyle olması daha güzel, sayfa yüklenmeden hiçbirşey göremiyorsunuz.
Özellikle firefox, opera'nın tablo oluşturmasındaki görsel bozukluk için birebir.
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
height kullanmasan zaten istediğin olacaktı bir önceki mesajımda da bunu belirtmek istedim tablo frame veya iframe de height mantığı değişmez arkadaşlar.
 
0
Onaylı Üye
Üye
Katılım
8 Şubat 2003
Mesajlar
1,465
Tepki puanı
0
height kullanmasan zaten istediğin olacaktı bir önceki mesajımda da bunu belirtmek istedim tablo frame veya iframe de height mantığı değişmez arkadaşlar.

öyle olmuyor, iframe'e height yazmayınca 200-250 px gibi bir yükseklikte kalıyor. deneyebilirsin...
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
Kod:
<style type="text/css">
<!--
#iframe {
  position: absolute;
  top: 34px;
  width: 230px;
  ......
  ......
}
-->
</style>
<div id="iframe">

</div>
CSS tasarım denediniz mi?
 
0
Onaylı Üye
Üye
Katılım
4 Ağustos 2006
Mesajlar
336
Tepki puanı
0
Evet hem de çok.
Sorun 100% olması, sabit bir değer verme değil.

İsterseniz 1500px verin oluyor ama dinamik içerik için özellikle iframe'in altında bir bölümünüz daha varsa zokkie'nin verdiği koddan başkası olmuyor.
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,143
Tepki puanı
1
Konum
dev
arkadaşım istediği şey. iframe içindeki sayfanın boyutu ne kadarsa iframeninde otomatikmen o boyuta ulaşması.

İframe Sayfası : dsgnr.html

HTML:
<body onload="boyut()">
<table id="tablom" width=100% height=500>
<tr><td width=100% height=500 bgcolor=#CoCoCo>
</td></tr>
</table><script>
function boyut()
{
var ctbl = document.getElementById("tablom");
this.resizeTo(ctbl.offsetWidth + 0, ctbl.offsetHeight + 0);
}
</script>
</body>


Ana Sayfa : index.html

HTML:
<iframe name="framem" src="dsgnr.html"  scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

yeterlidir ;)
 
0
Onaylı Üye
Üye
Katılım
4 Ağustos 2006
Mesajlar
336
Tepki puanı
0
Evet dediğiniz de işe yarıyor fakat iframe'de gösterilecek tüm sayfalara koymak gerekiyor.

Java Script ile olmuyor dediğim mesajda buna benzer bir kod kullandım.
iframe'in bulunduğu sayfaya yerleştiriliyor ama bu sadece ekranın boş olan yerine kadar yükseltiyor.
Buradan bakabilirsiniz
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2006
Mesajlar
1,143
Tepki puanı
1
Konum
dev
bunun haricinde yapabileceğin en iyi şey. include. dir.
 
Geri
Üst