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正则表达式来格式化XML内容
Jul 04 Javascript
cookie.js 加载顺序问题怎么才有效
Jul 31 Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 Javascript
详解webpack多页面配置记录
Jan 22 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
php实现文本数据导入SQL SERVER
2015/05/17 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
情况说明书格式范文
2014/05/06 职场文书
本科毕业生自荐信
2014/05/26 职场文书
大型演出策划方案
2014/05/28 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
同学会感言
2015/07/30 职场文书
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis