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简单的轮播的图片滚动实例
Jun 17 Javascript
js调用图片隐藏&显示实现代码
Sep 13 Javascript
控制台报错object is not a function的解决方法
Aug 24 Javascript
JavaScript中的acos()方法使用详解
Jun 14 Javascript
javascript控制层显示或隐藏的方法
Jul 22 Javascript
jquery trigger实现联动的方法
Feb 29 Javascript
一览画面点击复选框后获取多个id值的方法
May 30 Javascript
jQuery实现每隔几条元素增加1条线的方法
Jun 27 Javascript
Vue2.x中的Render函数详解
May 30 Javascript
vue :src 文件路径错误问题的解决方法
May 15 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
Apr 24 Javascript
node-red File读取好保存实例讲解
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
php无限遍历目录示例
2014/02/21 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
概述BootStrap中role="form"及role作用角色
2016/12/08 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
Python的类实例属性访问规则探讨
2015/01/30 Python
python3简单实现微信爬虫
2015/04/09 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
详解python函数传参是传值还是传引用
2018/01/16 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
python中p-value的实现方式
2019/12/16 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
Python常用数据分析模块原理解析
2020/07/20 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
社会保险接收函
2014/01/12 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
高中社区服务活动报告
2015/02/05 职场文书
学年个人总结范文
2015/03/05 职场文书