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实现读取txt文档的脚本
Jul 20 Javascript
JS取文本框中最小值的简单实例
Nov 29 Javascript
js倒计时简单实现方法
Dec 17 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
Sep 11 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
AjaxUpLoad.js实现文件上传
Mar 05 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 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实时显示输出
2008/10/02 PHP
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
设定php简写功能的方法
2019/11/28 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
javascript时间差插件分享
2016/07/18 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python全局变量操作详解
2015/04/14 Python
Python中内建函数的简单用法说明
2016/05/05 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
python路径的写法及目录的获取方式
2019/12/26 Python
Pytorch释放显存占用方式
2020/01/13 Python
python 制作网站小说下载器
2021/02/20 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
《挑山工》的教学反思
2014/02/16 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
交通安全教育主题班会
2015/08/12 职场文书
高三语文教学反思
2016/02/16 职场文书
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android