2009-08-05 21 views
34

Uygulamam içindeki bir iframe ile kalıcı bir iletişim kutusu vardır. Ben iletişim açtığında, bu yüzden içerik yükleri yukarı iframe uygun 'src' özelliğini ayarlar öyle ki benim jQuery kodu yazdık. Bununla birlikte, diyalog açılışı ve içerik yüklemesi arasındaki gecikme sırasında iframe dikkat çekici bir şekilde beyaz kutu olarak belirir. Iframe'nin şeffaf bir arka plana sahip olmasını tercih ederim.Iframe şeffaf arka plan

ben iframe üzerinde "Evet" = allowtransparency ayarı denedim. Herhangi bir fikir? Teşekkürler!

cevap

1

Çerçeveyi yalnızca ekrandan kaldırmayın veya gizlemeyin ve yüklemeyi bitirdikten sonra görüntülemeyin. Kullanıcının, yüklendiğine dair anında geri bildirim vermek için başlaması gereken bir yükleme simgesi gösterebilirsiniz.

+0

iframe yüklenmesi tamamlandıktan sonra bilmek güvenilir bir yolu yoktur çünkü. Iframe navigasyonu, uzaktan yükleme ile değil, 'href' özelliğini ayarlayarak yapılır. – brianjcohen

45

JavaScript üzerinden bir IFrame oluşturarak bu kullandım ve benim için çalıştı: Bu bir şeyi

// IFrame points to the IFrame element, obviously 
IFrame.src = 'about: blank'; 
IFrame.style.backgroundColor = "transparent"; 
IFrame.frameBorder = "0"; 
IFrame.allowTransparency="true"; 

emin değil eğer, ama DOM IFrame eklemeden önce bu özellikleri ayarlayın. DOM eklemeden sonra, gerçek bir URL onun src ayarlayın.

+7

+1: Şimdiye kadar allowTransparency hakkında bilgi vermedi. Teşekkürler :) stil için –

29
<style type="text/css"> 
body {background:none transparent; 
} 
</style> 
(sen iframe'de koyarsanız) işe yarayabilecek

<iframe src="stuff.htm" allowtransparency="true"> 
+2

1, ben iframe özelliklerine erişimi yok çünkü. – Warlock

+1

Chrome veya Firefox'ta benim için çalışmıyor – geotheory

1

hiçbiri src arka plan rengini ayarlayın ve transparencey izin ile birlikte.

[WITHIN SCR PAGE STYLE] 
<style type="text/css"> 
    body 
    { 
     background:none transparent; 
    } 
</style> 

[IFRAME] 
<iframe src="#" allowtransparency="true">Error, iFrame failed to load.</iframe> 

NOT: herkesin yaptığını nasıl benim CSS biraz farklı kod.