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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
javascript实现仿银行密码输入框效果的代码
Dec 13 Javascript
input输入框的自动匹配(原生代码)
Mar 19 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
js实现上传并压缩图片效果
Jan 10 Javascript
详解如何实现一个简单的 vuex
Feb 10 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
vue 自定义组件添加原生事件
Apr 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学习笔记之 函数声明(二)
2011/06/09 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
php与js的区别是什么
2013/08/05 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
python实现简单俄罗斯方块
2020/03/13 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
便利店促销方案
2014/02/20 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
安全生产月活动总结
2014/05/04 职场文书
义和团口号
2014/06/17 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
母亲节寄语大全
2015/02/27 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书