Lasst uns gemeinsam lernen 1. Traditionelle Methoden Code kopieren Der Code lautet wie folgt:<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="<a href="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0</a>" width="550" height="400" id="Ohne Titel-1" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="Film" value="meinFilm.swf" /> <param name="Qualität" value="hoch" /> <param name="bgcolor" value="#ffffff" /> <embed src="meinFilm.swf" Qualität="hoch" bgcolor="#ffffff" Breite="550" Höhe="400"name="meinFilm" Ausrichtung="Mitte" allowScriptAccess="sameDomain" Typ="Anwendung/x-shockwave-flash" Pluginspage="<a href="http://www.macromedia.com/go/getflashplayer">http://www.macromedia.com/go/getflashplayer</a>" /> </Objekt> Diese Methode verwendet zum Einbetten die Objekt- und Einbettungs-Tags. Wenn Sie genau hinschauen, werden Sie feststellen, dass viele Parameter des Objekts und viele Attribute im Embed wiederholt werden. Warum wird das gemacht? Aus Gründen der Browserkompatibilität unterstützen manche Browser Objekte und manche eingebettete Objekte. Deshalb müssen Sie beim Ändern der Flash-Parameter beide Stellen ändern. Bei dieser Methode handelt es sich um die offizielle Methode von Macromedia, die die Funktionalität von Flash weitestgehend gewährleistet und keine Kompatibilitätsprobleme aufweist. Allerdings funktioniert es jetzt nicht mehr so gut: Die Validierung schlägt fehl, da das aus Kompatibilitätsgründen eingebettete Embed-Tag nicht der W3C-Spezifikation entspricht. Ob Ihnen Standards egal sind oder nicht, ist natürlich eine andere Sache. Aus verschiedenen Gründen hat Microsoft nach SP2 den Nutzungsmodus von IE ActiveX eingeschränkt. Das heißt, im ActiveX auf der Seite befindet sich eine virtuelle Box, und der Benutzer muss einmal klicken, um normal zu interagieren. Flash ist als ActiveX in die Webseite eingebettet und daher ebenfalls betroffen. Dieses Problem kann nur durch die Einbettung von Flash über JS gelöst werden. Es gibt keine Flash-Versionserkennung. Wenn die Flash-Plugin-Version des Browsers nicht ausreicht, wird Ihre SWF-Datei möglicherweise nicht normal angezeigt oder es erscheint ein ActiveX-Bestätigungsfenster für die Installation – dieses Fenster ist für viele Benutzer sehr beängstigend. 2. Methode der Einbettung mit JS Beim Einbetten mit JS gibt es unterschiedliche Einbettungsmethoden, manche sind gut und manche nicht. Manche Leute verwenden document.write, um direkt zu schreiben. Ehrlich gesagt ist diese Methode nicht sehr gut. Es fühlt sich an, als hätte sie zu viele Hack-Elemente und ist ein bisschen wie eine Überprüfung nur um der Überprüfung willen. Es spiegelt auch nicht die Vorteile von JS wider. Ich denke, ein gutes JS-Einbettungsskript sollte zwar die Funktionen von Flash sicherstellen, aber gleichzeitig die Vorteile von JS voll ausschöpfen. Es sollte eine Versionserkennung haben, Barrierefreiheitsprobleme gut lösen können (also wissen, was zu tun ist, wenn Benutzer Flash-Inhalte nicht durchsuchen oder JS deaktivieren können) und einfach wiederverwendbar sein. Wir werden hier über die SWFObject-Lösung sprechen: „SWFObject“ verwendet Javascript zum Einfügen von Flash, was viele Vorteile bietet. Der Code ist prägnant, unter IE6 wird keine Eingabeaufforderung „Klicken Sie hier, um das Steuerelement zu aktivieren“ angezeigt und es besteht die W3C-Verifizierung. Unterscheidet sich von der herkömmlichen Methode zum Einfügen von „Objekten“ in Flash. In der neuen 2.x-Version von SWFObject erfordert der einfachste Aufruf nur einen Satz und es besteht keine Notwendigkeit, auf das Laden der Seite zu warten. Dies bedeutet, dass Sie diesen Satz überall auf der Seite schreiben können. Es ist viel einfacher als die vorherige Version. Hier sind einige einfache und häufig verwendete Anrufmethoden: 1. Der einfachste und grundlegendste klassische Satz, der immer dann verwendet werden kann, wenn Sie Flash einfügen möchten. Code kopieren Der Code lautet wie folgt:<div id="swfid"></div> <script type="text/javascript" src="swfobject.js"></script> <Skripttyp="text/javascript"> swfobject.embedSWF("test.swf", "swfid", "300", "120", "9.0.0", "expressInstall.swf"); </Skript> Hinweis: Rufen Sie die Methode embedSWF auf, um die SWF-Datei einzufügen. Die Parameter sind: @die Adresse der SWF-Datei; @die ID des Containers (z. B. div), der zum Laden der SWF-Datei verwendet wird; @die Breite des Flashs; @die Höhe des Flashs (natürlich können Breite und Höhe hier als Prozentwerte wie 100 % ausgedrückt werden); @die Mindestversion, die zum normalen Abspielen des Flashs erforderlich ist; @wenn die Version niedriger als die Anforderung ist, führen Sie die SWF-Datei aus. Verwenden Sie hier diesen Flash, um zum offiziellen Download der neuesten Version des Flash-Plug-Ins zu springen. (Dieser Parameter kann weggelassen werden) Wenn Sie mehrere Flashes an verschiedenen Stellen auf derselben Seite einfügen, wiederholen Sie einfach die obige Anweisung und verwenden Sie unterschiedliche Container-IDs. 2. Aufrufen von Methoden zum Übergeben von Parametern, Variablen und Eigenschaften an SWF-Dateien Code kopieren Der Code lautet wie folgt:<script type="text/javascript" src="swfobject.js"></script> <Skripttyp="text/javascript"> //1. Verwenden Sie Json, um Variablen, Parameter und Eigenschaften zu initialisieren var flashvars = { name1: "hallo", name2: "Welt", Name3: "foobar" }; var Parameter = { Menü: "false" }; var Attribute = { ID: "dynamicContent2", Name: "dynamicContent2" }; swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0","expressInstall.swf", flashvars, params, attribute); </p> <p>//2. Traditionelle Initialisierungseinstellungen, der Effekt ist der gleiche var flashvars = {}; flashvars.name1 = "hallo"; flashvars.name2 = "Welt"; flashvars.name3 = "foobar"; var Parameter = {}; params.menu = "falsch"; var Attribute = {}; Attribute.id = "dynamicContent3"; Attribute.Name = "dynamicContent3"; swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0","expressInstall.swf", Flashvars, Parameter, Attribute); //3. Schreiben Sie es direkt am Ende, nur ein Satz, prägnant und kraftvoll, ohne Aufschub swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120", "6.0.0","expressInstall.swf", {name1:"Hallo",name2:"Welt",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"}); </Skript> Offizielle Dokumentation zu SWFObject 2.0 (Chinesisch) https://www.jb51.net/books/175630.html |
<<: Detaillierte Erklärung der Unterschiede zwischen den vier Positionierungsarten in CSS
>>: Bringen Sie Ihnen bei, wie Sie den Beobachtermodus in Javascript implementieren
Ich bin heute auf ein kleines Problem gestoßen und...
Was ist Volumen? „Volume“ bedeutet auf Englisch K...
Es gibt in letzter Zeit zu viel Wissen zu lernen,...
Offizielle Dokumentation: https://nginx.org/en/li...
Remotebereitstellung der MySQL-Datenbank unter Li...
Laut canisue (http://caniuse.com/#search=border-r...
Inhaltsverzeichnis 1. Implementierungsprinzip des...
F: Ich weiß nicht, was der Unterschied zwischen XM...
1. Ändern Sie die Docker-Konfigurationsdatei des ...
Inhaltsverzeichnis 1. Was ist Pinia? 2. Pinia ist...
Inhaltsverzeichnis Ursache des Vorfalls Verwenden...
Inhaltsverzeichnis 1. Was ist ein Prototyp? 2. Pr...
Standardmäßig sind MySQL-Zeichentypen nicht case-...
Klicken Sie auf die Schaltfläche, um den Text in ...
In diesem Artikel wird der spezifische Code der J...