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 相关文章推荐
jquery 实现的全选和反选
Apr 15 Javascript
一个js写的日历(代码部分网摘)
Sep 20 Javascript
jquery加载页面的方法(页面加载完成就执行)
Jun 21 Javascript
JS实现点击下载的小例子
Jul 10 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
JavaScript使用slice函数获取数组部分元素的方法
Apr 06 Javascript
jquery仿百度经验滑动切换浏览效果
Apr 14 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
jQuery UI Bootstrap是什么?
Jun 17 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
js实现微博发布小功能
Jan 12 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 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 stream_get_meta_data返回值
2013/09/29 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
webpack多页面开发实践
2017/12/18 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
python递归函数用法详解
2020/10/26 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
《美丽的彩虹》教学反思
2014/02/25 职场文书
差生评语大全
2014/05/04 职场文书
主题党日活动总结
2014/07/08 职场文书
学校教师读书活动总结
2014/07/08 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
解除同居协议书
2015/01/29 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
python中filter,map,reduce的作用
2022/06/10 Python