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 相关文章推荐
Prototype 学习 Prototype对象
Jul 12 Javascript
在JavaScript中获取请求的URL参数[正则]
Dec 25 Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 Javascript
浅谈JavaScript 框架分类
Nov 10 Javascript
JS实现的不规则TAB选项卡效果代码
Sep 18 Javascript
浅谈javascript中onbeforeunload与onunload事件
Dec 10 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
Jun 13 Javascript
jQuery操作之效果详解
May 19 jQuery
Vue.js中extend选项和delimiters选项的比较
Jul 17 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
Feb 09 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 Javascript
Vue 实现分页与输入框关键字筛选功能
Jan 02 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
什么是短波收听SWL
2021/03/01 无线电
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
js自定义回调函数
2015/12/13 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
介绍Python中的一些高级编程技巧
2015/04/02 Python
python操作mysql数据库
2017/03/05 Python
对python中return和print的一些理解
2017/08/18 Python
python requests 使用快速入门
2017/08/31 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
深入浅析Python中的迭代器
2019/06/04 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
制定岗位职责的原则
2013/11/08 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
同意离婚答辩状
2015/05/22 职场文书
cf战队宣传语
2015/07/13 职场文书
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
科普 | 业余无线电知识-波段篇
2022/02/18 无线电
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python