2009-08-05 235 views
34

我的應用程序有一個模態對話框,裏面有一個iframe。我寫了我的jQuery代碼,當對話框打開時,它會設置iframe的相應'src'屬性,以便加載內容。但是,在對話框打開和內容加載之間的延遲期間,iframe顯着地顯示爲白色框。我更喜歡iframe具有透明背景。Iframe透明背景

我試着在iframe上設置allowtransparency =「yes」。有任何想法嗎?謝謝!

回答

1

爲什麼不把屏幕加載到屏幕上或隱藏起來,然後在加載完成後顯示它。您可以在其位置顯示一個加載圖標,以便立即向用戶提供反饋,說明它正在加載。

+0

因爲沒有可靠的方法來知道iframe何時完成加載。 Iframe導航是通過設置其'href'屬性完成的,而不是通過遠程加載完成的。 – brianjcohen 2009-08-05 16:23:19

45

我用這個創建通過JavaScript一個iframe,它的工作對我來說:如果

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

不知道這有什麼差別,但我加入的IFrame的DOM之前設置這些屬性。 將其添加到DOM後,我將其src設置爲真正的URL。

+7

+1:直到現在還不知道allowTransparency。感謝:) – 2009-12-30 08:08:32

29
<style type="text/css"> 
body {background:none transparent; 
} 
</style> 

可能的工作(如果你把在iframe) 隨着

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

風格,因爲我沒有訪問iframe屬性。 – Warlock 2014-06-27 07:15:47

+1

在Chrome或Firefox中不適用於我 – geotheory 2014-12-12 13:18:50

1

設置src無人能及背景顏色,並允許transparencey。

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

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

注意:我對CSS的編碼與其他人做的有些不同。