Frage

Wie binden Sie eine SWF-Datei in einer HTML-Seite?

War es hilfreich?

Lösung

Der beste Ansatz eine SWF-Datei in eine HTML-Seite einzubetten ist SWFObject zu verwenden.

Es ist eine einfache Open-Source-JavaScript-Bibliothek, die einfach zu bedienende und Standards freundlicher Methode Flash-Inhalte einbinden.

Es bietet auch Flash-Player Version Erkennung. Wenn der Benutzer nicht die Flash-Version hat erforderlich oder JavaScript deaktiviert, werden sie einen anderen Inhalt sehen. Sie können auch diese Bibliothek verwenden, um ein Flash-Player-Upgrade auszulösen. Sobald der Benutzer aufgerüstet hat, werden sie umgeleitet zurück auf die Seite werden.

Ein Beispiel aus der Dokumentation:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>SWFObject dynamic embed - step 3</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="swfobject.js"></script>

    <script type="text/javascript">
        swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
    </script>

  </head>
  <body>
    <div id="myContent">
      <p>Alternative content</p>
    </div>
  </body>
</html>

Ein gutes Werkzeug zu benutzen, zusammen mit dieser ist die SWFObject HTML und JavaScript Generator . Es erzeugt im Grunde die HTML und JavaScript benötigen Sie den Flash mit SWFObject einzubetten. Kommt mit einer sehr einfachen Benutzeroberfläche für Sie zur Eingabe Ihrer Parameter.

Es ist sehr zu empfehlen und sehr einfach zu bedienen.

Andere Tipps

<object width="100" height="100">
    <param name="movie" value="file.swf">
    <embed src="file.swf" width="100" height="100">
    </embed>
</object>

Wie wäre es einfach HTML5-Tag einbetten?

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>

Dies ist für die Anwendung von Root-Umgebung geeignet.

<object type="application/x-shockwave-flash" data="/dir/application.swf" 
id="applicationID" style="margin:0 10px;width:auto;height:auto;">

<param name="movie" value="/dir/application.swf" />
<param name="wmode" value="transparent" /> <!-- Or opaque, etc. -->

<!-- ↓ Required paramter or not, depends on application -->
<param name="FlashVars" value="" />

<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

Zusätzliche Parameter werden sollten / können hinzugefügt werden, das hängt von .swf selbst ein. Nein einbetten , nur Objekt und Parameter innerhalb, so bleibt es gültig ist, zu arbeiten und überall einsetzbar, ist es egal, was! DOCTYPE dreht sich alles um. :)

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" 
style="width:640px;height:480px;margin:10px 36px;">

<param name="movie" value="http://www.youtube.com/v/VhtIydTmOVU&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

Wenn Sie eine dieser js Bibliotheken werden mit Flash einzufügen, schlage ich vor, das Hinzufügen Ebene Objekt einbetten Tag innerhalb von <noscript/>.

Ich benutze http://wiltgen.net/objecty/ , hilft es, Medieninhalte zu integrieren und vermeiden Sie den IE „klicken, um zu aktivieren“ -Problem.

Wie bereits erwähnt SWF-Objekt ist groß. UFO ist ein Blick auch

wert

Dieses funktioniert, bin ich sicher!

<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">

Was ist die ‚beste‘ Art und Weise? Wörter wie ‚effizienteste‘, ‚schnellste Rendering‘ usw. sind spezifischer. Wie dem auch sei, biete ich eine alternative Antwort, die mich die meiste Zeit hilft (auch nicht der Fall ist ‚beste‘ ist irrelevant).

Mögliche Antwort. Verwenden Sie einen iframe

Das heißt, bewirtet die SWF-Datei auf dem Server. Wenn Sie die SWF-Datei im Stamm oder public_html Ordner abgelegt, dann wird die SWF-Datei in www.YourDomain.com/YourFlashFile.swf befindet.

Dann auf index.html oder wo auch immer, verbinden den oben Standort zu Ihrem iframe, und es wird rund um Ihre Inhalte angezeigt werden, wohin Sie Ihre iframe setzen. Wenn Sie dort ein iframe setzen können, können Sie eine SWF-Datei dort setzen. Machen Sie die iframe Dimensionen die gleiche wie die SWF-Datei. Im Beispiel unten ist die SWF-Datei 500 von 500.

Pseudo-Code:

<iframe src="//www.YourDomain.com/YourFlashFile.swf" width="500" height="500"></iframe>

Die Zeile HTML-Code oben wird die SWF-Datei einbetten. Kein anderes Chaos benötigt. Vorteile: W3C-konform, Seite Design freundlich, keine Geschwindigkeit Problem, minimalistischer Ansatz.
Nachteile: Weißer Raum um die SWF-Datei, wenn sie in einem Browser gestartet

.

Das ist eine alternative Antwort. Ob es die ‚beste‘ ist die Antwort auf Ihrem Projekt abhängig ist.

Ich weiß, dass dies eine alte Frage. Aber diese Antwort wird für die Gegenwart gut sein.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>histo2</title>
        <style type="text/css" media="screen">
        html, body { height:100%; background-color: #ffff99;}
        body { margin:0; padding:0; overflow:hidden; }
        #flashContent { width:100%; height:100%; }
        </style>
    </head>
    <body>
        <div id="flashContent">
            <object type="application/x-shockwave-flash" data="histo2.swf" width="822" height="550" id="histo2" style="float: none; vertical-align:middle">
                <param name="movie" value="histo2.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffff99" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            </object>
        </div>
    </body>
</html>

Sie können JavaScript verwenden, wenn Sie mit vertraut sind, wie folgt aus:

swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");

-. Die 9.0.0 ist die Flash-Version

Sie können auch den <object>-Tag von HTML5 verwenden.

Das funktioniert für mich:

    <a target="_blank" href="{{ entity.link }}">
        <object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
            <param name="quality" value="high">
            <param name="play" value="true">
            <param name="LOOP" value="false">
            <param name="wmode" value="transparent">
            <param name="allowScriptAccess" value="true">
        </object>
    </a>

Thi funktioniert auf IE, Rand, Firefox, Safari und Chrome.

<object type="application/x-shockwave-flash" data="movie.swf" width="720" height="480">
            <param name="movie" value="movie.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#000000" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="sameDomain" />
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </object>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top