js怎么判断flash swf文件是否加载完毕

 更新时间:2014年08月14日 17:31:42   投稿:whsnow  
因为我一直不知道该怎么判断swf文件是否加载完毕,于是想用js来实现这个功能,需要的朋友可以参考下

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实现复制粘贴功能的示例代码

    使用Javascript实现复制粘贴功能的示例代码

    本篇文章记录如何通过js代码实现复制内容到剪切板,之后可以粘贴到需要的地方的功能,文中通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • JavaScript包装对象使用详解

    JavaScript包装对象使用详解

    javascript代码运行的过程中基本类型会找到对应的包装对象,然后包装对象把所有的属性和方法给了基本类型,然后包装对象被系统进行销毁,所以理解了包装对象可以很好的理解之前写的代码为什么可以这样做了。
    2015-07-07
  • 日常收集整理的JavaScript常用函数方法

    日常收集整理的JavaScript常用函数方法

    本文是小编在平时项目中收集整理的javascript常用函数方法,特别是javascript方法经常会用到,对javascript函数方法相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • js Element Traversal规范中的元素遍历方法

    js Element Traversal规范中的元素遍历方法

    对于元素间的空格,在IE9之前,都不会返回文档节点,其它的所有浏览器都会返回文档节点,为了兼容浏览器这间的差异,又不更改已有的DOM 标准,所以有了 Element Traversal 规范
    2018-04-04
  • js处理表格对table进行修饰

    js处理表格对table进行修饰

    这篇文章主要介绍了js处理表格对table进行修饰的一些小技巧,需要的朋友可以参考下
    2014-05-05
  • javascript中先加加和后加加区别 ++a和a++区别解析

    javascript中先加加和后加加区别 ++a和a++区别解析

    从学习 javascript 开始,就对 先加加 和 后加加 模糊不清,时至今日,再来学习一下,这篇文章主要介绍了javascript中先加加和后加加区别++a和a++区别解析,需要的朋友可以参考下
    2023-09-09
  • 基于JavaScript实现文件秒传功能

    基于JavaScript实现文件秒传功能

    在互联网高速发展的今天,文件上传已经成为网页应用中的一个基本功能,随着用户上传文件尺寸的不断增大、对质量清晰度的要求也越来越高,所以本文给大家介绍了如何使用JavaScript实现文件秒传功能,需要的朋友可以参考下
    2024-01-01
  • javascript生成随机大小写字母的方法

    javascript生成随机大小写字母的方法

    这篇文章主要介绍了javascript生成随机大小写字母的方法,需要的朋友可以参考下
    2014-02-02
  • Javascript编写2048小游戏

    Javascript编写2048小游戏

    本文给大家介绍的是去年很火的一款小游戏--2048用javascript实现的思路以及代码,有需要的小伙伴可以参考下。
    2015-07-07
  • JavaScript中的ES6 Proxy的具体使用

    JavaScript中的ES6 Proxy的具体使用

    这篇文章主要介绍了JavaScript中的ES6 Proxy的具体使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06

最新评论