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


Posted in Javascript onAugust 14, 2014

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 相关文章推荐
短信提示使用 特效
Jan 19 Javascript
js电信网通双线自动选择技巧
Nov 18 Javascript
validator验证控件使用代码
Nov 23 Javascript
基于Vue实例对象的数据选项
Aug 09 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
Nov 01 Javascript
深入理解ES6之数据解构的用法
Jan 13 Javascript
实时监控input框,实现输入框与下拉框联动的实例
Jan 23 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
Aug 26 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
Sep 10 Javascript
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
Aug 14 #Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 #Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 #Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 #Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 #Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 #Javascript
js中string转int把String类型转化成int类型
Aug 13 #Javascript
You might like
一个PHP+MSSQL分页的例子
2006/10/09 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
php给图片加文字水印
2015/07/31 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
详解Python的Django框架中的通用视图
2015/05/04 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
Python Django基础二之URL路由系统
2019/07/18 Python
python中必要的名词解释
2019/11/20 Python
python 实现多维数组(array)排序
2020/02/28 Python
用python对oracle进行简单性能测试
2020/12/05 Python
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
银行委托书范本
2014/04/04 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
angular异步验证器防抖实例详解
2022/03/31 Javascript