2015-03-18 13:37:00
js怎么判断flash是否加载完毕了呢?
我们怎么在flash加载完毕之时,回调一个我们设定的js函数?
这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!
呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了?
从前都是只知道img.onload等等。
好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢?
没错,就是轮询,然后判断flash的某个方法是否能正常运行?
示例如下(伪代码):
[javascript] view plaincopy
- (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');
- }
- })();
经测试,确实可行,不过可能会有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的指定属性
评论 (0)