JavaScript获取flash对象与网上的有所不同


Posted in Javascript onApril 21, 2014

关于js获取flash对象,网上有非常多的例子,我也尝试了不少方法。
虽然都能用,但是没有我最想要的东西,
后来看了下百度的,虽然很规范,各种情况都考虑到了,但是代码量却不是不容乐观,
前前后后将近20行代码,压缩后也有 864 个字节。

所以本文诞生了。
我想测试并分享下网上收集的几种我比较满意的方法。
也顺便请大家帮忙测试下兼容性,有不兼容的在下面留个言,最好写上浏览器版本,这样我也好测试并修复代码。
下面来看代码吧。

function getFlashMovieObject( movieName ) { 
if (window.document[movieName]) { 
return window.document[movieName]; 
} 
if (navigator.appName.indexOf("Microsoft Internet") == -1) { 
if (document.embeds && document.embeds[movieName]) 
return document.embeds[movieName]; 
} else { // if (navigator.appName.indexOf("Microsoft Internet")!=-1) 
return document.getElementById(movieName); 
} 
}

这个方法比较保守,如果在 document 取到值了就直接返回,如果没取到,作者常用了 embeds 兼容替补来取,
当然IE是要特殊处理的,可是这里作者常用 getElementById ,而其他地方用 window 比较多。
当然 getElementById 是不会有错的,他取的是 object 的ID,因为embeds只有name没有ID。
var flash = document["myFlash"] || window["myFlash"];

这个方法比较简洁明了,我也就不多??铝恕
var flash = document["myFlash"];

这个是我在看了各种版本后,自己写的,因为我电脑上各种浏览器 + 虚拟机下 IE6-10 都测试通过,我也觉得纳闷了。
当然,如果正式用的话,我还是会选择方案一,但是有时候特殊情况,不需要兼容多浏览器的话,可以考虑这个哦。

下面是实际的例子,分别用三种方法取得flash对象后,并对flash进行控制测试。
如果有朋友发现不能测试通过的话,麻烦留下浏览器版本号和不能通过的方案,小弟先谢过了。

Javascript 相关文章推荐
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
Jul 18 Javascript
js特殊字符转义介绍
Nov 05 Javascript
根据表格中的某一列进行排序的javascript代码
Nov 29 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
JS在onclientclick里如何控制onclick的执行
May 30 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 #Javascript
jquery form 加载数据示例
Apr 21 #Javascript
三种方式获取XMLHttpRequest对象
Apr 21 #Javascript
JavaScript中的Math 使用介绍
Apr 21 #Javascript
jQuery过滤选择器:not()方法使用介绍
Apr 20 #Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 #Javascript
jquery复选框checkbox实现删除前判断
Apr 20 #Javascript
You might like
VFP与其他应用程序的集成
2006/10/09 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
FCK调用方法..
2006/12/21 Javascript
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
使用python编写监听端
2018/04/12 Python
python实现俄罗斯方块
2018/06/26 Python
浅谈django的render函数的参数问题
2018/10/16 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
岗位职责定义及内容
2013/11/08 职场文书
服装发布会策划方案
2014/05/22 职场文书
个人求职自荐信范文
2014/06/20 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
丽江古城导游词
2015/02/03 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL