使用 JS 嵌入的方式来加载 Flash 插件,在各浏览器中播放视频

嵌入插件

  • 使用 object 和 embed 标签

这种方法用到的是 Object 和 Embed 标签,可以看到 object 的很多参数和 embed 里面的很多属性是重复的。浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法最大限度的保证了 Flash 的功能,没有兼容性问题。

但是

1.无法通过验证,由于为了兼容性而嵌入的 embed 标签是不符合 W3C 的规范的。

2.没有 Flash 版本检测,如果版本浏览器的flash插件版本不够,或者不能正常显示你的 swf 文件,或者会弹出一个 ActiveX (ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。 使用 ActiveX, 可轻松方便的在 Web页中插入 多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体CD-ROM 。)的确认安装的框——这个框对很多用户来说是很恐怖的。

  • 只使用 object 标签

由于没有了 embed 标签,可以通过验证,是标准的嵌入 Flash 的方法,浏览器兼容性也不错,看起来几乎完美。

但是

1.需要一个 holder swf 来加载你的目标 swf 以保证 IE 中的 stream 能力,如果你需要通过 flashvars 来传参,或者和页面的 JS 交互,会很麻烦

2.也会弹出一个ActiveX的提示框,没有版本检测。

3.一些低版本的浏览器(如低版本的Safari等)不认同这种方式,对它的兼容性不好。

  • 只使用 embed 标签
由于 embed 标签是不符合 W3C 的规范的,所以也不推荐使用这种方法。
  • 使用JavaScript嵌入

使用 JS 来加载 Flash 插件

<SCRIPT language=JavaScript type=text/javascript>
var swf_width='1440';
var swf_height='400';
var configtg='0xffffff:文字颜色|2:文字位置|0x000000:文字背景颜色|30:文字背景透明度|0xffffff:按键文字颜色|0x4f6898:按键默认颜色|0x000033:按键当前颜色|8:自动播放时间|3:图片过渡效果|1:是否显示按钮|_blank:打开新窗口';
var files='/upLoad/slide/month_1511/201511181539214885.jpg';
var links='';
var texts ;
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" height="'+ swf_height +'">');
document.write('<param name="movie" value="/flash/slideflash.swf"><param name="quality" value="high">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&bcastr_config='+configtg+'">');
document.write('<embed src="/flash/slideflash.swf" wmode="opaque" FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&bcastr_config='+configtg+'& menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
</SCRIPT>

<ul class="video_tit">
<li><span class="Blue">视频欣赏</span>&#160;&#160;&#160;VIDEO</li>
</ul>

<p><embed type="application/x-shockwave-flash" class="edui-faked-video" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://player。com/player.php/sid/XMTcxNjQxMTkxMg==/v.swf" width="300" height="280" wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true"/></p>

原文地址:https://www.cnblogs.com/yszblog/p/6770307.html