178

如何在 HTML 页面中嵌入 SWF 文件?

4

15 回答 15

175

将 SWF 嵌入 HTML 页面的最佳方法是使用SWFObject

它是一个简单的开源 JavaScript 库,易于使用且符合标准的嵌入 Flash 内容的方法。

它还提供 Flash 播放器版本检测。如果用户没有所需的 Flash 版本或禁用了 JavaScript,他们将看到替代内容。您还可以使用此库来触发 Flash 播放器升级。用户升级后,他们将被重定向回页面。

文档中的一个示例:

<!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生成器。它基本上生成使用 SWFObject 嵌入 Flash 所需的 HTML 和 JavaScript。带有一个非常简单的用户界面供您输入参数。

强烈推荐它并且使用起来非常简单。

于 2008-09-26T02:03:51.753 回答
129
<object width="100" height="100">
    <param name="movie" value="file.swf">
    <embed src="file.swf" width="100" height="100">
    </embed>
</object>
于 2008-09-26T01:54:27.187 回答
19

简单的 HTML5 标签嵌入怎么样?

<!DOCTYPE html>
<html>
<body>

<embed src="anim.swf">

</body>
</html>
于 2015-05-22T22:13:49.210 回答
13

这适合从根环境应用。

<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。没有 embed,只有对象和参数,因此,它在任何地方都保持有效、工作和可用,无论 !DOCTYPE 是什么都无关紧要。:)

于 2012-10-11T19:57:38.037 回答
8

如果您使用其中一个 js 库来插入 Flash,我建议在<noscript/>.

于 2008-09-26T22:13:45.080 回答
8
<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>
于 2012-10-11T19:43:34.560 回答
2

我使用http://wiltgen.net/objecty/,它有助于嵌入媒体内容并避免 IE 的“点击激活”问题。

于 2008-09-26T02:08:24.223 回答
2

如前所述,SWF 对象很棒。UFO也值得一看

于 2008-09-26T05:34:40.263 回答
2

我相信这个会起作用的!

<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">
于 2015-07-25T14:16:38.013 回答
1

什么是最好的方法?“最有效”、“最快渲染”等词更具体。无论如何,我提供了一个在大多数情况下对我有帮助的替代答案(是否“最好”是无关紧要的)。

替代答案:使用 iframe。

也就是说,将 SWF 文件托管在服务器上。如果您将 SWF 文件放在根目录或 public_html 文件夹中,则 SWF 文件将位于www.YourDomain.com/YourFlashFile.swf.

然后,在您的 index.html 或其他任何地方,将上述位置链接到您的 iframe,无论您放置 iframe,它都会显示在您的内容周围。如果可以在其中放置 iframe,则可以在其中放置 SWF 文件。使 iframe 尺寸与您的 SWF 文件相同。在下面的示例中,SWF 文件为 500 x 500。

伪代码:

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

上面的 HTML 代码行将嵌入您的 SWF 文件。不需要其他混乱。优点:符合 W3C,页面设计友好,没有速度问题,极简主义的方法。
缺点:在浏览器中启动时,SWF 文件周围有空白区域。

那是一个替代答案。是否是“最佳”答案取决于您的项目。

于 2013-12-23T23:54:01.553 回答
1

我知道这是一个老问题。但是这个答案对目前来说是好的。

<!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>
于 2018-02-21T16:15:16.100 回答
1

Thi 适用于 IE、Edge、Firefox、Safari 和 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>
于 2019-01-11T00:10:13.970 回答
0

这对我有用:

    <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>
于 2014-09-12T10:00:22.200 回答
0

使用<embed>元素:

<embed src="file.swf" width="854" height="480"></embed>
于 2020-04-03T21:26:18.317 回答
-1

如果您熟悉 JavaScript,则可以使用 JavaScript,如下所示:

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

--9.0.0是flash版本。

或者你可以使用<object>HTML5 的标签。

于 2014-01-12T01:55:24.077 回答