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 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
js 字符串转化成数字的代码
Jun 29 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
JS中把字符转成ASCII值的函数示例代码
Nov 21 Javascript
js使用html()或text()方法获取设置p标签的显示的值
Aug 01 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
Jun 24 Javascript
微信小程序 按钮滑动的实现方法
Sep 27 Javascript
vue中锚点的三种方法
Jul 06 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
JS前端基于canvas给图片添加水印
Nov 11 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 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
node网页分段渲染详解
2016/09/05 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
python解析xml文件实例分享
2013/12/04 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Python实现TCP通信的示例代码
2019/09/09 Python
keras中的History对象用法
2020/06/19 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
什么是servlet链?
2014/07/13 面试题
家长对孩子评语
2014/01/30 职场文书
如何写股份合作协议书
2014/09/11 职场文书
离婚协议书格式
2015/01/26 职场文书
计划生育责任书
2015/05/09 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS