2008-11-25 7 views
8

Es gibt zu viele Methoden zum Einbetten von Flash in HTML, welcher Weg ist der beste? Anforderungen sind:Der beste Weg, Flash in HTML einzubetten

  • Kreuz-Browser-Unterstützung
  • Unterstützung für alternative content
  • Möglichkeit zu verlangen, eine bestimmte Version des Flash Players

(wenn Flash nicht vom Browser unterstützt wird) Ich habe über SWFobject gelesen, hat jemand es benutzt/getestet?

Antwort

15

In einem Projekt, an dem ich arbeite, verwenden wir SWFobject, das wie ein Zauber wirkt. Es erlaubt Ihnen, nach einer bestimmten Version zu suchen und auch alternative Inhalte anzuzeigen, wenn Flash nicht unterstützt wird.

var fn = function() { 
    if(swfobject.hasFlashPlayerVersion("9.0.115")) 
    { 
     var att = { data:"flash.swf", width:"y", height:"x" }; 
     var par = { menu: "false", flashvars: "" }; 
     signUp = swfobject.createSWF(att, par); 
    } 
} 
swfobject.addDomLoadEvent(fn); 
2

Ja, wir verwenden, die für Flash-Erkennung auf unserer Seite und es funktioniert sehr gut, vermeiden das Problem, dass Sie in der Regel klicken, um Flash-Steuerelemente im Internet Explorer zu aktivieren. Wir haben es in vielen Browsern (verschiedene Versionen von IE, Firefox, Opera, Safari, Chrome) auf verschiedenen Betriebssystemen getestet (Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, Mac OSX, Linux) und sobald Sie Ich habe es richtig eingerichtet, es funktioniert perfekt auf alle.

4

Ich würde sehr empfehlen, flashembed zu verwenden. Es hat Unterstützung für alles, was Sie brauchen und mehr, ohne dass es so kompliziert zu bedienen ist. Es wurde ursprünglich für die Einbettung flowplayer entwickelt, die ich auch empfehlen kann, aber es funktioniert für jede Flash-Datei.

Ein Beispiel, wie ich es verwenden:

flashembed("frontPageFlash", 
    { 
     src: "img/flash/FrontPage.swf", 
     width: "480", 
     height: "600", 
     bgcolor: "#ebebeb", 
     version: [9,0], 
     expressInstall:'scripts/expressinstall.swf' 
    },{ 
     head1: "<%= frontPageFlashHead1 %>", 
     head2: "<%= frontPageFlashHead2 %>", 
     pitch1: "<%= frontPageFlashPitch1 %>", 
     pitch2: "<%= frontPageFlashPitch2 %>" 
    } 
); 

Und wo es einfach eingebettet ist, ich gesagt:

<div id="frontPageFlash"></div> 
0

verwende ich SWFObject mich, in Kombination mit dem < > und < Objekt einbetten > Tags. Der Grund, warum ich die HTML-Einbettungen einschließe, ist, dass SWFObject und flashembed sich auf Javascript verlassen, um das DOM zu aktualisieren. Nicht jeder Benutzer, der Flash installiert hat, hat Javascript aktiviert.