iframe yüksekliğini içeriğine ve çözünürlüğe göre otomatik.:

Kodla Büyü

erdogan_y

Seçkin Üye
Seçkin Üye
Mesajlar
387
1-iframe yüksekliğini içeriğine göre otomatik ayarlamak için kullanabilirsiniz. iframe kaydırma çubuğu yok tarayıcı kaydırma çubuğu var:
head tagları arasına kodu yapıştır:
Kod:
<script language="JavaScript">
<!--
function boyutlama()
{
var yukseklik=document.getElementById('iframe').contentWindow.document.body.scrollHeight;
document.getElementById('iframe').height=yukseklik;
}
//-->
</script>
body tagları arasına istenen yere ise aşağıdaki kodları yapıştırıp , "src" ve "name" kendi sitenize göre değiştirin:
Kod:
<iframe src="deneme.html" name="anasayfa" onload="boyutlama();" scrolling="no"  id="iframe" frameborder="0" 

style="width:100%;" marginheight="0" marginwidth="0"></iframe>
 
"yok kardeşim, ne olursa olsun, anasayfada içerik dışında herşeyin sabit olmasını, devamlı görünmesini istiyorum" diyorsanız. 2. tercih tam size göre.
2-iframe yüksekliğini tarayıcıya göre otomatik ayarlamak için kullanabilirsiniz. iframe kaydırma çubuğu var tarayıcı kaydırma çubuğu yok
head tagları arasına kodu yapıştırın:
Kod:
<style>body {overflow-y:hidden}</style>
<script type="text/javascript">
<!--
function boyutlama()
{
var yukseklik=document.getElementById('iframe').contentWindow.document.body.scrollHeight;

var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight-150;//iframe dışında yukarıda ve aşağıdaki nesnelerin toplam yüksekliğine göre, tarayıcınızın dikey kaydırma çubuğu görünüyorsa 150 sayısını artırın .altta boşluk olursa 150 değerini azaltınız.
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight-150;//iframe dışında yukarıda ve aşağıdaki nesnelerin toplam yüksekliğine göre, tarayıcınızın dikey kaydırma çubuğu görünüyorsa 150 sayısını artırın .altta boşluk olursa 150 değerini azaltınız.
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight-150;//iframe dışında yukarıda ve aşağıdaki nesnelerin toplam yüksekliğine göre, tarayıcınızın dikey kaydırma çubuğu görünüyorsa 150 sayısını artırın .altta boşluk olursa 150 değerini azaltınız.
  }
  
if (yukseklik>myHeight) document.getElementById('iframe').height=myHeight
else 
document.getElementById('iframe').height=yukseklik;


}
//-->
</script>
body tagları arasına istenen yere ise aşağıdaki kodları yapıştırıp , "src" ve "name" kendi sitenize göre değiştirin:
Kod:
<iframe src="deneme.html" name="anasayfa" onload="boyutlama();" scrolling="auto"  id="iframe" frameborder="0" 

style="width:100%;" marginheight="0" marginwidth="0"></iframe>
kodları düzenleyerek genişliğide otomatik olacak şekilde istediğiz gibi değiştirebilirsiniz :)
 
wertyu6' Alıntı:
ilk verdiğiniz ile ikincinin farkı ne acaba?
doğrudan istenen kaydırma çubuğunu gizleme gibi birşey yapmıyoruz.otomatik boyutlandırma yapıldığı için kaydırma çubuğu kendiliğinden gizleniyor.

ilk verdiğim kodlar ile iframe yukarı-aşağı kaydırma çubuğu olmuyor ve iframe yüksekliği, içine yüklenen sayfanın yüksekliği ile aynı oluyor.iframe içindeki sayfasının uzunluğu çok yüksek ise tarayıcının kaydırma çubuklarını kullanıyoruz.
2. ise yine iframe yüksekliği, iframe içine yüklenen sayfaya göre kendini otomatik ayarlıyor.ve kesinlikle tarayıcının kaydırma çubukları görünmüyor. içeriği iframe kaydırma çubukları ile görüyoruz.

her iki örnektede tarayıcı küçültülse bile iframe yüksekliğini otomatik ayarlayacaktır. yine istenen kaydırma çubukları görünmeyecek ve iframe istenen şekilde uzunluğunu otomatik ayarlayacaktır.
opera ve IE tarayıcılarında denenmiştir. umarım diğer tarayıcılarda da çalışır.
ayrıca:
Kod:
<body  onresize="boyutlama()">
kodda görüldüğü gibi body tag içersine onresize="boyutlama()" kodunu eklerseniz, tarayıcınızın boyutunu değiştirdiğinizde iframe otomatik kendini ayarlayacaktır.
 
şimdilik bildiğim tek problem: :?:
iframe içine yüklenen sayfa, site dışındaki bir sayfa olursa ( örnek:google,facebook v.b) kodlar çalışmıyor. :?
çözümünü bilen varsa lütfen yazsın cevap bekliyorum.
 
erdogan_y' Alıntı:
şimdilik bildiğim tek problem: :?:
iframe içine yüklenen sayfa, site dışındaki bir sayfa olursa ( örnek:google,facebook v.b) kodlar çalışmıyor. :?
çözümünü bilen varsa lütfen yazsın cevap bekliyorum.
hocam yükseklik hesaplaman kendi frame'in için doğru ama harici bir link için uymuyor.
 
Rüzgara Karşı' Alıntı:
erdogan_y' Alıntı:
şimdilik bildiğim tek problem: :?:
iframe içine yüklenen sayfa, site dışındaki bir sayfa olursa ( örnek:google,facebook v.b) kodlar çalışmıyor. :?
çözümünü bilen varsa lütfen yazsın cevap bekliyorum.
hocam yükseklik hesaplaman kendi frame'in için doğru ama harici bir link için uymuyor.
kendi sitemdeki bütün linkler için çalışıyor problem yok.ama siteye ait olmayan bir link için çalışmıyor bunun çözümü yokmu acaba veya bu güvenlik için böyle.
 
site harici bi link verdiğinizde mesela google da kendi ayarlkarı var sizin yaptığınız ifare için ayarlayamayacağınız için (kendi genişliği yüksekliği falan) uyumsuzluk olacaktır doğal olarak diye düşünüyorum.
 
bashcasy' Alıntı:
site harici bi link verdiğinizde mesela google da kendi ayarlkarı var sizin yaptığınız ifare için ayarlayamayacağınız için (kendi genişliği yüksekliği falan) uyumsuzluk olacaktır doğal olarak diye düşünüyorum.
hocam sorun o değil kendi sitemde de iframe içine yüklenen sayfalar iframe boyutlarına göre ayarlı değil ve iframe göre boyutları değişmiyor. iframe kendini içersine yüklenen sayfaya göre otomatik ayarlıyor.Ama dışarıdan yüklenen bir sayfa olduğunda duyarsız kalıyor. :?
 
Hocam süpersiniz. Nice zamandır aradığım kod. Paylaşım için teşekkürler, iyi çalışmalar dilerim...
 
erdogan_y' Alıntı:
Rüzgara Karşı' Alıntı:
erdogan_y' Alıntı:
şimdilik bildiğim tek problem: :?:
iframe içine yüklenen sayfa, site dışındaki bir sayfa olursa ( örnek:google,facebook v.b) kodlar çalışmıyor. :?
çözümünü bilen varsa lütfen yazsın cevap bekliyorum.
hocam yükseklik hesaplaman kendi frame'in için doğru ama harici bir link için uymuyor.
kendi sitemdeki bütün linkler için çalışıyor problem yok.ama siteye ait olmayan bir link için çalışmıyor bunun çözümü yokmu acaba veya bu güvenlik için böyle.
sayfanı ve ek dosyaları ziple gönder, bakarım müsait olduğumda...
 
erdogan_y' Alıntı:
1-iframe yüksekliğini içeriğine göre otomatik ayarlamak için kullanabilirsiniz. iframe kaydırma çubuğu yok tarayıcı kaydırma çubuğu var:
head tagları arasına kodu yapıştır:
Kod:
<script language="JavaScript">
<!--
function boyutlama()
{
var yukseklik=document.getElementById('iframe').contentWindow.document.body.scrollHeight;
document.getElementById('iframe').height=yukseklik;
}
//-->
</script>
body tagları arasına istenen yere ise aşağıdaki kodları yapıştırıp , "src" ve "name" kendi sitenize göre değiştirin:
Kod:
<iframe src="deneme.html" name="anasayfa" onload="boyutlama();" scrolling="no"  id="iframe" frameborder="0" 

style="width:100%;" marginheight="0" marginwidth="0"></iframe>


Merhabalar;
Uzunca bir süredir bu kodu arıyordum. Çok teşekkür ederim sonunda buldum. :)

Ancak bir problem var. İlgili kod internet explorerda çalışıyor, fakat firefoxda ifaremin çalışmasını tamamen engelliyor. Buna bir çözüm var mı acaba?
 
haliluz' Alıntı:
Merhabalar;
Uzunca bir süredir bu kodu arıyordum. Çok teşekkür ederim sonunda buldum. :)

Ancak bir problem var. İlgili kod internet explorerda çalışıyor, fakat firefoxda ifaremin çalışmasını tamamen engelliyor. Buna bir çözüm var mı acaba?
Önceden denememiştim ama şimdi denedim, "IE,Mozilla Firefox,Opera ve Google Chrome" da kodlar çalışıyor. Firefox tarayıcınızı tekrar yükleyerek deneyin. Umarım sorunuz çözülür.
 
Her iki kod da çalışıyor.Ama ciddi şekilde düzenlemeye ihtiyaçları var.
Gerçekten bu konuda bilgisi olan bir arkadaş yardımcı olursa sevinirim.
 
arkadaşlar burada name="anasayfa" yerine ne yazdığımız önemli mi? iframe i nereden isim veriyoruz ki?
 
erdogan_y' Alıntı:
haliluz' Alıntı:
Merhabalar;
Uzunca bir süredir bu kodu arıyordum. Çok teşekkür ederim sonunda buldum. :)

Ancak bir problem var. İlgili kod internet explorerda çalışıyor, fakat firefoxda ifaremin çalışmasını tamamen engelliyor. Buna bir çözüm var mı acaba?
Önceden denememiştim ama şimdi denedim, "IE,Mozilla Firefox,Opera ve Google Chrome" da kodlar çalışıyor. Firefox tarayıcınızı tekrar yükleyerek deneyin. Umarım sorunuz çözülür.

hocam öncelikle teşekkürler kod için; internet explorer'da sorun yok versiyon:9. firefox sorun yok versiyon:4. ancak chrome' da çalışmıyor versiyon:16.

bir çözüm var mı acaba?
 
BBNET
Geri
Üst