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 相关文章推荐
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
jQuery选择头像并实时显示的代码
Jun 27 Javascript
js下通过getList函数实现分页效果的代码
Sep 17 Javascript
JQuery中对Select的option项的添加、删除、取值
Aug 25 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
Oct 21 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
Feb 25 Javascript
BootStrap的两种模态框方式
May 10 Javascript
使用JS和canvas实现gif动图的停止和播放代码
Sep 01 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
Oct 08 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
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个人网站架设连环讲(四)
2006/10/09 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php session_decode函数用法讲解
2019/05/26 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
javascript的内存管理详解
2013/08/07 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
互动出版网:专业书籍
2017/03/21 全球购物
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
药学专业个人自我评价
2013/11/11 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
村级四风对照检查材料
2014/08/24 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
1000字打架检讨书
2014/11/03 职场文书
2015大学迎新标语
2015/07/16 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
详解Python requests模块
2021/06/21 Python
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android