2011-05-10 12 views
5

Jest to tak powszechna rzecz, że wyobrażam sobie, że musi istnieć "dobry" sposób czystego umieszczania Flasha w HTML5? Interesuje mnie tylko obsługa następujących przeglądarek: FF3, FF4, IE7, IE8, IE9, Chrome i Safari.Najlepszy sposób na osadzanie Flasha w nowoczesnych przeglądarkach za pomocą HTML5?

Wiem, że istnieje kilka rozwiązań JavaScript, takich jak SWFObject, ale to wydaje się przesadą. Czy nie jest to tylko czysty, szybki i łatwy sposób za pomocą HTML?

Dodatkowo: czy korzystanie z <embed> jest złym rozwiązaniem? To był wcześniej amortyzowany przez W3C, ale rozumiem, że jest z powrotem w HTML5. Dlaczego więc nie po prostu użyć go zamiast zajmować się z <object>?

Odpowiedz

3

Tried jQuery Tools?

Zasadniczo, wszystko co musisz zrobić to:

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

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

przykład roboczych byłoby:

<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> 

on pracował z jQuery 2.0.3, 1.10.2, 1.9.0.

+0

Dodałem link skryptu do źródła jQuery i powyższego kodu do mojej strony (oczywiście z działającym łączem), ale nic się nie dzieje: Po prostu dostaję pustą stronę. Czy coś ominąłem? – radagast

+0

Powyższy przykład ma minimalne tagi wymagane do jego działania. Sprawdź swoją stronę przed nią. – Parziphal

+0

Działa teraz. Nie miałem drugiej linii skryptu. Dzięki. – radagast

0

Obiekt SWFObject został stworzony, aby dynamicznie radzić sobie z różnymi sposobami interpretowania znacznika obiektu przez każdą przeglądarkę. Nie jestem świadomy żadnych rzeczywistych zmian w tym scenariuszu, nawet przy ie9, który nadal wymaga aktywacji użytkownika obiektu active-x.

ja wciąż wolą SWFObject dla swojej solidnej i prostego przekazania flash vars:

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 
     ); 

Zgadzam się, byłoby to „miły”, czy nie było „bardziej” lekki alternatywą, ale wygoda nadrabia dla wszelkich dodatkowych obciążeń, imo.

okrzyki

+0

Cóż, dopóki nie ma lepszej odpowiedzi, poszedłem z SWFObject. –

Powiązane problemy