2009-07-30 99 views
2

我有一個瑞士法郎,需要Flash 9,我試圖顯示它的內容。爲了促進這一點,我將wmode設置爲透明。問題是,這隻適用於用戶安裝了Flash 10的情況,我真的不想要Flash 10查看我正在工作的網站上的內容。當我用Flash 9將Flash內容拉到一個div上時,swf會滲入或完全覆蓋div。通過Flash 9顯示內容swf?

如何防止這種情況而不使用戶10的Flash 10?

我正在使用swfobject嵌入swf和jquery-ui以在Flash內容上顯示div。

編輯:

此失敗行爲只在Safari中注意到。

回答

2

我不確定這是否會幫助你本身。但我已經使用以下方法在Flash上​​顯示內容。

前段時間我曾經遇到過這個問題。我向用戶展示了在網站上註冊的條款和條件彈出窗口。彈出窗口沒有問題,但是在頁面頂部有一個隱藏對話框上部的Flash動畫。經過測試和廣泛使用的方法是將iframe放置在要顯示內容和絕對位置的內容和IFrame的位置。例如,如果你想顯示flash動畫上面一個div,然後將一個IFrame的類似如下:

<iframe style="position:absolute;top:250;left:150;"></iframe> 

然後是位置正是這種IFRAME上面的格狀:

<div style="position:absolute;top:250;left:150;"></div> 

我使用jQuery在頁面上使用ui.dialog插件顯示對話框。 經過一段時間的鬼混後,我設計了以下簡單的解決方案。

1)在電影元素上放置id屬性來唯一標識電影對象。 Like,

<object id="movie1"></object> 

2)在顯示對話框(或其他內容)之前,調用一個javascript函數來隱藏電影。 Like,

$("#movie1").css("display","none"); 

3)現在顯示對話框。 Like,

$("#dialog").dialog("open"); 

4)關閉對話框後,再次顯示電影。像,

$("#dialog").dialog("close"); 
    $("#movie1").css("display","inline"); 
3

的wmode透明一直是閃存的一部分了多年,並且不侷限於爲Flash Player 10

不管,你並不需要使用的wmode透明;除非您確實需要SWF中的透明度,否則應該使用wmode不透明。它沒有多少bug並且使用較少的處理能力。

訣竅還在於確保您的HTML元素在CSS中聲明瞭「位置」。下面的例子和說明這裏

嘗試: http://learnswfobject.com/advanced-topics/placing-html-elements-over-a-flash-movie/

-1

我發現這個在我的書籤(他們是從前期10年代)。雖然我現在沒有任何Flash Player 9/Safari來驗證此權限。試一試。

Different WModes for Browsers

正如pipwerks說,應該的WMode控制這個,但並不是所有的平臺/瀏覽器正確地處理它們。在這種情況下,我會認爲這是Safari/Flash9故障,並且不可修復。

-1

嘗試將wmode參數設置爲不透明。當涉及Flash時,這似乎解決了很多HTML層/深度問題。

1

我不能提供可以解決問題的建議,所以我建議您可能想避免該問題。

不是有過在z指數

+------------+ 
|   | 
| +-------------+ 
| | html  | 
| |    | 
| +-------------+ 
| Flash | 
+------------+ 

如何Flash內容的(X)HTML內容有關,而不是放置的Flash上​​面的(X)HTML內容的窗口:

+------------+ 
| html  | 
|   | 
+------------+ 
+------------+ 
|   | 
| Flash  | 
|   | 
|   | 
|   | 
|   | 
+------------+ 

這並不理想,但它至少提供了一個可行的解決方案,直到Flash/html可以更成功地共存。

+0

這在這種情況下是不可能的。 Flash在頁面上顯得很高,我正在使用jquery-ui組件。如果可能的話,我會全力解決問題。 – 2009-09-04 12:58:35