Как встроить SWF-файл в HTML-страницу?

Как встроить SWF-файл в HTML-страницу?

13 ответов


лучший подход для встраивания SWF в HTML-страницу-использовать SWFObject.

это простая библиотека JavaScript с открытым исходным кодом, которая проста в использовании и удобна для внедрения Flash-контента.

Он также предлагает обнаружение версии Flash player. Если у пользователя нет требуемой версии Flash или отключен JavaScript, он увидит альтернативный контент. Вы также можете использовать эту библиотеку для запуска обновления Flash player. Как только пользователь обновил, они будут перенаправлены обратно на страницу.

пример из документации:

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

хорошим инструментом для использования вместе с этим является SWFObject HTML и JavaScript генератор. Он в основном генерирует HTML и JavaScript, необходимые для встраивания Flash с помощью SWFObject. Поставляется с очень простым интерфейсом для ввода параметров.

он настоятельно рекомендуется и очень прост в использовании.


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

это подходит для применения из корневой среды.

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

Дополнительные параметры должны быть/могут быть добавлены, который зависит от .swf IT self. нет embed, просто объект и параметры внутри, так что он остается действительным, работает и может использоваться везде ,это не имеет значения!DOCTYPE-это все. :)


Как насчет простого встраивания тегов HTML5?

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>

Если вы используете одну из этих библиотек js для вставки Flash, я предлагаю добавить простой тег вставки объекта внутри <noscript/>.


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

Я использую http://wiltgen.net/objecty/, это помогает встроить медиа-контент и избежать проблемы IE "нажмите, чтобы активировать".


Как уже упоминалось, объект SWF велик. НЛО стоит посмотреть, а также


Это будет работать, я уверен!

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

Что такое "лучший" способ? Такие слова, как "наиболее эффективный", "самый быстрый рендеринг" и т. д. быть более конкретным. Во всяком случае, я предлагаю альтернативный ответ, который помогает мне большую часть времени (независимо от того, "лучший" или нет, не имеет значения).

альтернативный ответ: используйте iframe.

то есть разместить SWF-файл на сервере. Если вы поместите SWF-файл в корневую папку или папку public_html, то SWF-файл будет расположен в www.YourDomain.com/YourFlashFile.swf.

затем, по вашему индексу.html или где угодно, ссылка вышеуказанное местоположение вашего iframe и оно будет отображаться вокруг вашего контента, куда бы вы ни поместили свой iframe. Если вы можете поместить туда iframe, вы можете поместить туда SWF-файл. Сделайте размеры iframe такими же, как ваш SWF-файл. В приведенном ниже примере SWF-файл равен 500 на 500.

псевдо код:

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

строка HTML-кода выше будет вставлять ваш SWF-файл. Никакой другой беспорядок не нужен. Плюсы: W3C совместимый, дизайн страницы дружественный, без проблемы скорости, минималистский подход.
Минусы: пробел вокруг SWF-файла при запуске в браузере.

это альтернативный ответ. Является ли это "лучшим" ответом, зависит от вашего проекта.


Я знаю, это старый вопрос. Но пока этот ответ будет хорош.

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

Вы можете использовать JavaScript, если вы знакомы с, так:

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

--9.0.0-это версия flash.

или вы можете использовать <object> тег HTML5.


это сработало для меня:

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