虽然在HTML中嵌入SWF并不太难,但是对于不同的浏览器存在一些细微之处,检测是否安装了Flash等。 为了启用AJAX,可以使用标准的代码块来节省处理所有情况的麻烦......是否有类似的“参考实现”来嵌入涵盖所有基础的SWF?
答案 0 :(得分:3)
有标准吗?可悲的是没有。 Flash嵌入方法的理想要点是:
但是并没有一堆满足所有这些要点的标记。第6点是不可能完全实现的,但有些解决方案比其他解决方案更糟糕。
关于您可以使用的最简单的标记是经典Flash Satay文章中概述的版本:
<object type="application/x-shockwave-flash" data="file.swf" width="x" height="y">
<param name="movie" value="file.swf" />
(Non-Flash content here)
</object>
ALA文章抱怨说,如果没有安装,该版本将不会提示用户下载Flash;我个人认为这是一个加分点。但它仍然在第3点和第5点失败。第5点可能或可能不重要:如果您的Flash文件是一个简单的应用程序,媒体播放器或加载器存根它根本没关系,但如果它是一个大动画,它可能是不幸的
也许第3点不再重要;这些天没有人真正使用Netscape 4或IE4。但如果它对你有用,你需要老式的嵌入式标签。现代浏览器也支持这一点,这意味着您可以将ActiveX方法用于外部对象,因此您可以在IE中进行流式处理:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="x" height="y">
<param name="movie" value="file.swf" />
<embed type="application/x-shockwave-flash" src="file.swf" width="x" height="y" />
</object>
这是嵌入Flash的“传统”方法。它在第4点和第7点失败,在第6点稍差。
SWFObject等库使用的第三种方法是使用JavaScript选择在当前浏览器上实例化Flash的最佳方法。这可以达到以上所有要点,当然,除了8之外,有些库通过包括静态对象标记,第6点的交易点8来提供缓解这一点的方法。
答案 1 :(得分:1)
Apple (例如链接)
插件将查看的内容 需要嵌入HTML中。最 浏览器使用EMBED标记执行此操作, 但其他人需要OBJECT标签。对于 最大兼容性,你可以调整 你的页面支持两者。
Adobe (例如链接)
Internet使用OBJECT标记 Windows上的Explorer和EMBED是 由Netscape Navigator使用(Macintosh 和Windows)和Internet Explorer (Macintosh)将浏览器指向 加载Macromedia Flash Player。 Windows上的Internet Explorer使用 用于播放Macromedia的ActiveX控件 所有其他浏览器的Flash内容 和平台组合使用 Netscape插件技术发挥 Macromedia Flash内容。这个 解释了需要两个标签。
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/ shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="550" HEIGHT="400" id="myMovieName"> <PARAM NAME=movie VALUE="myFlashMovie.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED href="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400" NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>
答案 2 :(得分:1)
答案 3 :(得分:1)
我建议将SWF Object与所有其他选项进行比较,因为它会生成符合标准的HTML,并且非常容易设置。
答案 4 :(得分:0)
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="myvideo"></div>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
var atts = { id: "myplayerid1" };
swfobject.embedSWF("http://www.youtube.com/v/gRvUpoTT-Bo&hl=pt-br&fs=1&enablejsapi=1&playerapiid=myplayerid1&version=3", "myvideo", "425", "344", "8", null, null, params, atts);
</script>
这可能是一种简单的方法..使用js小提琴测试任何代码......这对我做了很多尝试很多事情