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

179

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

15个回答

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文件周围会有空白。

这是一种备选答案。它是否是“最佳”答案取决于您的项目。


3
对于谷歌@Stoic,抱歉你错了,应该是“//www...”,使用“//”表示无论您使用HTTPS还是HTTP连接类型,它都可以正常工作。 - Barkermn01

1

这适用于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>

0
使用<embed>元素:
<embed src="file.swf" width="854" height="480"></embed>

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>

-1

如果您熟悉JavaScript,可以像这样使用:

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

--9.0.0是Flash版本。

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


-1 swfobject 不仅仅是 JavaScript 的一部分,你不能只是调用它而不嵌入库。并且从 HTML 4 到 5,<object> 标签的大部分功能都被剥离了。虽然它仍然可以使用,但不建议这样做。总的来说,这是一个非常糟糕的答案。 - rorypicko
你在说这是一个非常糟糕的答案之前,是否已经尝试过它?请记住,非常糟糕的答案是指完全不起作用或错误的答案。 - Allan
告诉别人使用JavaScript,然后粘贴使用你甚至没有提到的JavaScript库的代码,这使得答案不好。 - rorypicko
我已经提到要使用JavaScript并给出了脚本。如果我提供整个工作代码/脚本,那就是在“喂奶”。这个脚本很好,只是一个逻辑。 - Allan
你误解了我的评论。你没有告诉他要包含SWFObject JavaScript文件。 - rorypicko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接