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 相关文章推荐
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
window.open的页面如何刷新(父页面)上层页面
Dec 28 Javascript
Javascript学习笔记之相等符号与严格相等符号
Nov 23 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
May 08 Javascript
简单实现jQuery弹窗效果
Oct 30 jQuery
详细分析JS函数去抖和节流
Dec 05 Javascript
vue组件之间的数据传递方法详解
Apr 19 Javascript
vue+iview分页组件的封装
Nov 17 Vue.js
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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
python实现一次创建多级目录的方法
2015/05/15 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
python 实现return返回多个值
2019/11/19 Python
详解python tkinter模块安装过程
2020/01/06 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
幼儿园儿童节主持词
2014/03/21 职场文书
幼儿园新年寄语
2014/04/03 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python