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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
javaScript parseInt字符转化为数字函数使用小结
Nov 05 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
Jan 22 Javascript
js/html光标定位的实现代码
Sep 23 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
js编写的treeview使用方法
Nov 11 Javascript
JS百度地图搜索悬浮窗功能
Jan 12 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 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作的文本留言本的例子(一)
2006/10/09 PHP
php中执行系统命令的方法
2015/03/21 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
jQuery使用手册之一
2007/03/24 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
移动通信专业自荐信范文
2013/11/12 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
五一劳动节演讲稿
2014/09/12 职场文书