2008-12-10 81 views
3

我認爲這個問題很自我解釋。任何人之前做過?是否可以將AS3 swf嵌入分層嵌入式AS2 swf中的DIV中?

UPDATE:爲什麼我需要做此澄清。我們有一個AS1 - AS2站點的單個swf巨獸,有一個大型視頻庫部分。客戶希望更新視頻部分,因爲AS2代碼無法處理他們更新的,更大的視頻文件。客戶不會支付整個網站的更新。因此,我希望能夠在該部分導航時在現有網站上覆蓋基於AS3的視頻瀏覽器和播放器,從而使網站的其他部分與其現有的AS2代碼正常工作。

。希望多一點解釋清楚的事情!

回答

4

我不認爲無論是AS3或AS2有什麼關係呢。

但從網絡瀏覽器的時候,他們都是一個黑盒子,上面寫着「Flash播放器插件」。一次只能安裝一個版本的插件,因此即使您有AS2和AS3 swf,網絡瀏覽器也會看到它有兩個「Flash player plugin version 10」實例。

沸騰下來,你彷彿是試圖做的是:

  1. 創建一個頁面:
  2. 棒在它的SWF
  3. 添加一個div的頁面,並使用CSS定位把它「過」了其他swf
  4. 粘另一個swf在該div。

所以,工作的呢? - 是的,非常好,但您必須在您的嵌入式Flash對象上設置wmode="transparent"(感謝評論中的葡萄酒)。

我跑了個試驗:這是我的源代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <style type="text/css" media="screen"> 
      DIV{ width: 300px; height; 300px;} 
      #background{ border: 1px solid green; background-color: green; z-index: 0; } 
      #foreground{ border: 1px solid red; background-color: red; z-index: 50; } 
     </style> 
    </head> 
    <body> 
     <div id="background"> 
      <embed height="208" width="208" quality="high" bgcolor="#fff" src="bgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/> 
     </div> 

     <div id="foreground" style="position: absolute; left: 30px; top: 30px;"> 
      <embed height="208" width="208" quality="high" bgcolor="#fff" src="fgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/> 
     </div> 

    </body> 
</html> 

結果:

沒有wmode=transparent,是不一致的,在Firefox和IE minorly打破。有了它,在IE和Firefox中都完全符合你的想法。
swf文件的行爲(從佈局的角度來看),就好像它們只是圖像一樣。這個很酷。

+0

設置底部閃光」的wmode透明,它應該工作,最壞的情況可能需要兩個設置爲透明。 – grapefrukt 2008-12-10 21:10:44