2011-05-10 26 views
5

這是一個很常見的事情,我想必須有一種將Flash完全嵌入HTML5的「好」方式?我只對支持以下瀏覽器感興趣:FF3,FF4,IE7,IE8,IE9,Chrome和Safari。爲使用HTML5的現代瀏覽器嵌入Flash的最佳方法?

我知道有一些JavaScript解決方案,如SWFObject,但這似乎是矯枉過正。這不僅僅是一種使用HTML的乾淨,快速和簡單的方法嗎?

此外:使用<embed>有什麼不好嗎?它以前曾被W3C貶低,但我明白它已經回到了HTML5。那麼爲什麼不直接用<object>來代替它呢?

回答

3

試過jQuery Tools

基本上,所有你要做的就是:

<div id="clock"></div> 

<script> 
flashembed("clock", "/media/swf/global/clock.swf"); 
</script> 

的工作的例子是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
<script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script> 

<div id="clock"></div> 

<script> 
flashembed("clock", "http://jquerytools.org/media/swf/global/clock.swf"); 
</script> 

它使用jQuery 2.0.3,1.10.2,1.9.0工作。

+0

我添加了一個腳本鏈接到jQuery源代碼和上面的代碼到我的頁面(顯然是一個工作鏈接),但沒有任何反應:我只是得到一個空白頁面。我錯過了什麼嗎? – radagast 2013-09-30 15:02:30

+0

上面的示例具有使其工作所需的最小標籤。檢查你的網頁。 – Parziphal 2013-09-30 15:43:53

+0

它現在有效。我沒有第二個腳本行。謝謝。 – radagast 2013-09-30 16:10:12

0

SWFObject被創建爲動態處理每個瀏覽器解釋對象標籤的不同方式。我不知道這個場景有任何真正的變化,即使使用ie9,仍然需要用戶激活一個active-x對象。

我還是喜歡SWFObject的閃光的其強大的和直接移交瓦爾:

var flashvars = { 
    filePath: "somePath", 
    verbose: "true" 
}; 

var params = { 
    quality: "high", 
    wmode: "opaque", 
    menu: "false", 
    base: "/flash/home_page/" 
}; 

var attributes = { 
    id:  "flashContent" 
}; 


    swfobject.embedSWF(
     "../flash/home_page/home.swf", 
     "flashContent", 
     "570", 
     "325", 
     "10.0.0", 
     "../frameworks/swfobject/expressInstall.swf", 
     flashvars, 
     params, 
     attributes, 
     outputStatus 
     ); 

我同意,這將是「好」,如果有一個「更」輕量級替代,但方便拼成無論額外的負載是什麼,imo。

歡呼聲

+0

那麼,直到有更好的答案,我去了SWFObject。 – 2011-05-10 17:47:09

相關問題