转自:http://blog.163.com/yuki_1154/blog/static/7120277120126109315935/
找了很久终于找到一个比较全面的:
1. object + embed 传统的方法
优点:浏览器兼容性好,是 Macromedia 一直以来的官方方法缺点:a.embed 标签是不符合 W3C 的规范的,无法通过验证。当然,如果你不在乎什么规范不规范,另当别论。b.
微软由于种种原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在页面中的 ActiveX
有一个虚框,需要用户点击一次才能正常交互。Flash是作为一个 ActiveX 嵌入到网页中的,所以它也会受牵连,只有通过 JS 嵌入
Flash 才能解决这个问题。c.没有 Flash 版本检测,如果版本浏览器的flash插件版本不够,或者不能正常显示你的 swf 文件,或者会弹出一个 ActiveX 的确认安装的框。================分割线================
2. 单object
这种方法的名字叫做 Flash satay,最早是2002年由 Drew McLellan 发表在 A List Apart 上,后来又经过了几次完善:优点:这方法没有embed,可以通过验证,浏览器兼容性也不错缺点:a.需要一个 holder swf 来加载你的目标 swf 以保证 IE 中的 stream 能力,如果你需要通过 flashvars 来传参,或者和页面的 JS 交互,会很麻烦。b.ActiveX的虚框问题。c.没有版本检测。d.还是有少数用户代理(比如一些版本的 safari 和一些屏幕阅读器)不认这种方式,有 bug。 ================分割线================
3. 双object
src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
alt="Get Adobe Flash player" /> ================分割线================
4. flex提供的标准方法
================分割线================5. swfobject
http://code.google.com/p/swfobject/================分割线================
6. 单embed显示 ie7和ff3下都能正常显示