html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

js怎么判断flash swf文件是否加载完毕_javascript技巧_

[ ] 已经帮助:人解决问题

js怎么判断flash是否加载完毕了呢?6zDHTML5中文学习网 - HTML5先行者学习网

我们怎么在flash加载完毕之时,回调一个我们设定的js函数?6zDHTML5中文学习网 - HTML5先行者学习网

这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!6zDHTML5中文学习网 - HTML5先行者学习网

呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了?6zDHTML5中文学习网 - HTML5先行者学习网

从前都是只知道img.onload等等。6zDHTML5中文学习网 - HTML5先行者学习网

好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢?6zDHTML5中文学习网 - HTML5先行者学习网

没错,就是轮询,然后判断flash的某个方法是否能正常运行?6zDHTML5中文学习网 - HTML5先行者学习网

示例如下(伪代码):6zDHTML5中文学习网 - HTML5先行者学习网
6zDHTML5中文学习网 - HTML5先行者学习网

(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已经完全加载到页面中了!!!6zDHTML5中文学习网 - HTML5先行者学习网

经测试,确实可行,不过可能会有1―2秒的时间延迟。6zDHTML5中文学习网 - HTML5先行者学习网

/////////////有什么不对的地方,欢迎勘误!!!!!!!!!//////////////6zDHTML5中文学习网 - HTML5先行者学习网

/*后面附上可控制Flash Player的js方法列表*/6zDHTML5中文学习网 - HTML5先行者学习网

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

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助