js怎么判断flash swf文件是否加载完毕


Posted in Javascript onAugust 14, 2014

js怎么判断flash是否加载完毕了呢?

我们怎么在flash加载完毕之时,回调一个我们设定的js函数?

这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!

呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了?

从前都是只知道img.onload等等。

好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢?

没错,就是轮询,然后判断flash的某个方法是否能正常运行?

示例如下(伪代码):

(function () { 
var flash = 网页上某个flash对象。 

var interval = setInterval(function () { 
try { 
if(flash.IsPlaying()) { //轮询flash的某个方法即可 
callBack && callBack.call(flash, args); //回调函数 
clearInterval(interval); 
} 
} catch (ex) { 

} 
}, 1000); 

var callBack = function () { 
alert('loaded'); 
} 
})();

//具体运用时,flash放进setInterval或者setTimeout的函数闭包中时,可能会由于JavaScript单线程问题,导致flash不能调用IsPlaying等flash player函数或者调用结果不对等状况,这里有个临时的解决办法,我们可以读取在轮询函数中读取flash的TotalFrames属性,读取得到,我们就可以认为flash已经完全加载到页面中了!!!

经测试,确实可行,不过可能会有1—2秒的时间延迟。

/////////////有什么不对的地方,欢迎勘误!!!!!!!!!//////////////

/*后面附上可控制Flash Player的js方法列表*/

Play() ---------------------------------------- 播放动画
StopPlay()------------------------------------停止动画
IsPlaying()----------------------------------- 动画是否正在播放
GotoFrame(frame_number)---------------- 跳转到某帧
TotalFrames()------------------------------- 获取动画总帧数
CurrentFrame()------------------------------回传当前动画所在帧数-1
Rewind()-------------------------------------使动画返回第一帧
SetZoomRect(left,top,right,buttom)-------放大指定区域
Zoom(percent)------------------------------改变动画大小
Pan(x_position,y_position,unit)------------使动画在x,y方向上平移
PercentLoaded()----------------------------返回动画被载入的百分比
LoadMovie(level_number,path)----------- 加载动画
TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数
TGotoLabel(movie_clip,label_name)------ movie_clip跳转到指定标签
TCurrentFrame(movie_clip)--------------- 回传movie_clip当前帧-1
TCurrentLabel(movie_clip)-----------------回传movie_clip当前标签
TPlay(movie_clip)---------------------------播放movie_clip
TStopPlay(movie_clip)----------------------停止movie_clip的播放
GetVariable(variable_name)-----------------获取变量
SetVariable(variable_name,value)-----------变量赋值
TCallFrame(movie_clip,frame_number)---call指定帧上的action
TCallLabel(movie_clip,label)----------------call指定标签上的action
TGetProperty(movie_clip,property)--------获取movie_clip的指定属性
TSetProperty(movie_clip,property,number)-设置movie_clip的指定属性

Javascript 相关文章推荐
在javaScript中关于submit和button的区别介绍
Oct 20 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
jQuery on方法传递参数示例
Dec 09 Javascript
深入讲解AngularJS中的自定义指令的使用
Jun 18 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
JS实现字符串转日期并比较大小实例分析
Dec 09 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
JS优化与惰性载入函数实例分析
Apr 06 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
Aug 14 #Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 #Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 #Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 #Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 #Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 #Javascript
js中string转int把String类型转化成int类型
Aug 13 #Javascript
You might like
PHP仿盗链代码
2012/06/03 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
Python的高级Git库 Gittle
2014/09/22 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
Python多层装饰器用法实例分析
2018/02/09 Python
python 拼接文件路径的方法
2018/10/23 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
利用Python检测URL状态
2019/07/31 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
Python内置类型性能分析过程实例
2020/01/29 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
超市开店计划书
2014/04/26 职场文书
世博会口号
2014/06/20 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书