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 相关文章推荐
jQuery基本选择器选择元素使用介绍
Apr 18 Javascript
javascript中数组中求最大值示例代码
Dec 18 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
JavaScript中的splice()方法使用详解
Jun 09 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 Javascript
Vue filters过滤器的使用方法
Jul 14 Javascript
关闭Vue计算属性自带的缓存功能方法
Mar 02 Javascript
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
Sep 03 Javascript
JavaScript Dom实现轮播图原理和实例
Feb 19 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
第八节 访问方式 [8]
2006/10/09 PHP
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
python路径的写法及目录的获取方式
2019/12/26 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
weblogic面试题
2016/03/07 面试题
北京SQL新华信咨询
2016/09/30 面试题
体育教师自我鉴定
2014/02/12 职场文书
竞聘演讲稿
2014/04/24 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
医生个人年度总结
2015/02/28 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript