加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何判断flash是否加载完

发布时间:2020-12-15 07:01:59 所属栏目:百科 来源:网络整理
导读:js怎么判断flash是否加载完毕了呢? 我们怎么在flash加载完毕之时,回调一个我们设定的js函数? 这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉! 呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问

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的指定属性

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读