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 相关文章推荐
Mozilla中显示textarea中选择的文字
Sep 07 Javascript
js操作select控件的几种方法
Jun 02 Javascript
JavaScript中最简洁的编码html字符串的方法
Oct 11 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
ES6记录异步函数的执行时间详解
Aug 31 Javascript
AngularJS模仿Form表单提交的实现代码
Dec 08 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
Apr 22 Javascript
移动端手指操控左右滑动的菜单
Sep 08 Javascript
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 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
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
PHP导入导出Excel代码
2015/07/07 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
js验证密码强度解析
2020/03/18 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
python使用pil生成缩略图的方法
2015/03/26 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
python 函数中的参数类型
2020/02/11 Python
读书活动总结
2014/04/28 职场文书
民生工作实施方案
2014/05/31 职场文书
入党函调证明材料
2014/12/24 职场文书
维稳承诺书
2015/01/20 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js