如何在 HTML 页面中嵌入 SWF 文件?
<object width="100" height="100"> <param name="movie" value="file.swf"> <embed src="file.swf" width="100" height="100"> </embed> </object>
将 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>
与此一起使用的一个很好的工具是 SWFObjectHTML 和 JavaScript发电机。它基本上生成了使用 SWFObject 嵌入 Flash 所需的 HTML 和 JavaScript。附带一个非常简单的用户界面,用于输入参数。
这是强烈推荐和非常简单的使用。
我使用 http://wiltgen.net/objecty/,它有助于嵌入媒体内容,并避免 IE“点击激活”的问题。
正如前面提到的 SWF 对象很棒。 UFO也值得一看
如果您使用其中一个 js 库来插入 Flash,我建议在 <noscript/>中添加纯对象嵌入标记。
<noscript/>
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/VhtIydTmOVU&hl=en&fs=1&color1=0xe1600f&color2=0xfebd01" style="width:640px;height:480px;margin:10px 36px;"> <param name="movie" value="http://www.youtube.com/v/VhtIydTmOVU&hl=en&fs=1&color1=0xe1600f&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>
这适合于来自根环境的应用程序。
<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>
应该/可以添加其他参数,这取决于。自己动手。没有嵌入,只有 对象和参数内,所以,它仍然有效,工作和可用的任何地方,它没有关系!DOCTYPE 就是。:)
最好的方法是什么?“最高效”、“最快渲染”等词语更具体。无论如何,我提供了一个替代的答案,帮助我的大部分时间(是否是“最好的”是无关紧要的)。
备选答案: 使用 iframe。
也就是说,在服务器上承载 SWF 文件。如果您将 SWF 文件放在 root 或 public _ html 文件夹中,那么 SWF 文件将位于 www.YourDomain.com/YourFlashFile.swf。
www.YourDomain.com/YourFlashFile.swf
然后,在 index.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 文件周围有空白。
这是一个替代的答案。是否是“最好的”答案取决于你的项目。
如果你熟悉的话,你可以使用 JavaScript,像这样:
swfobject.embedSWF("filename.swf", "Title", "width", "height", "9.0.0");
9.0版本是 flash 版本。
或者您可以使用 HTML5的 <object>标记。
<object>
这对我很有效:
<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>
简单的 HTML5标签嵌入怎么样?
<!DOCTYPE html> <html> <body> <embed src="anim.swf"> </body> </html>
这个肯定能行!
<embed src="application.swf" quality="high" pluginspage="http://www.macromedia.com/go/getfashplayer" type="application/x-shockwave-flash" width="690" height="430">
我知道这是一个古老的问题,但是这个答案对现在来说是有好处的。
<!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>
它适用于 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>
使用 <embed>元素:
<embed>
<embed src="file.swf" width="854" height="480"></embed>