js怎么判断flash swf文件是否加载完毕
来源: 阅读:838 次 日期:2014-08-15 14:02:09
温馨提示: 小编为您整理了“js怎么判断flash swf文件是否加载完毕”,方便广大网友查阅!

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

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

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

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

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

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

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

示例如下(伪代码):

view sourceprint?

01 (function () {

02 var flash = 网页上某个flash对象。

03

04 var interval = setInterval(function () {

05 try {

06 if(flash.IsPlaying()) { //轮询flash的某个方法即可

07 callBack && callBack.call(flash, args); //回调函数

08 clearInterval(interval);

09 }

10 } catch (ex) {

11

12 }

13 }, 1000);

14

15 var callBack = function () {

16 alert('loaded');

17 }

18 })();

//具体运用时,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的指定属性

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map