2009-08-05 31 views
34

私のアプリには、内部にiframeを持つモーダルダイアログがあります。ダイアログが開いたときにコンテンツが読み込まれるようにiframeの適切な 'src'属性を設定するように、jQueryコードを記述しました。しかし、ダイアログのオープンとコンテンツ読み込みの間の遅延の間、iframeは白いボックスとして目立つように見えます。私はiframeの透明な背景が好きです。iframe透明な背景

iframeにallowtransparency = "yes"を設定しようとしました。何か案は?ありがとう!

答えて

1

フレームを画面に読み込まないようにするか、非表示にして読み込みが完了したら、表示してみませんか?その場所にローディングアイコンを表示して、ユーザにロード中の即時のフィードバックを与えることができます。

+0

iframeの読み込みが完了したことを確実に知る方法がないため。 Iframeのナビゲーションは、リモート読み込みではなく、 'href'属性を設定することによって行われます。 – brianjcohen

45

私はJavascriptを経由のIFrameを作成し、これを使ってきたし、それは私のために働いていた:それは何の違いになりますが、私はDOMへのIFrameを追加する前にこれらのプロパティを設定している場合

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

わかりません。 DOMに追加した後、srcを実際のURLに設定します。

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

+1:今までallowTransparencyについて知りませんでした。ありがとう:) –

29
働くかもしれない
<style type="text/css"> 
body {background:none transparent; 
} 
</style> 

(あなたはiframe内に置く場合) 。

[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は他の人とは少し異なります。

+2

私はiframeの属性にアクセスすることができないので、スタイルの+1。 – Warlock

+1

ChromeやFirefoxで動作しません – geotheory

1

noneに、srcの背景色を設定し、transparenceyを許可するとともに