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 用记忆函数快速计算递归函数
Mar 15 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
Mar 23 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
js脚本编写简单刷票投票系统
Jun 27 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
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
PHP 导出Excel示例分享
2014/08/18 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
node内置调试方法总结
2018/02/22 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
django 将model转换为字典的方法示例
2018/10/16 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python 合并拼接字符串的方法
2020/07/28 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
Python基于locals返回作用域字典
2020/10/17 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
幼师自荐信
2013/10/26 职场文书
学校介绍信范文
2014/01/14 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android