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对象和属性的创建方法
Jan 15 Javascript
javascript实现的网页局布刷新效果
Dec 01 Javascript
js 数组操作代码集锦
Apr 28 Javascript
JS 对象介绍
Jan 20 Javascript
JavaScript异步编程:异步数据收集的具体方法
Aug 19 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
重写document.write实现无阻塞加载js广告(补充)
Dec 12 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
javascript实现非常简单的小数取整功能示例
Jun 13 Javascript
JS+Ajax实现百度智能搜索框
Aug 04 Javascript
详解ES6之async+await 同步/异步方案
Sep 19 Javascript
vue实现点击追加选中样式效果
Nov 01 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中的cookie
2006/11/26 PHP
PHP控制网页过期时间的代码
2008/09/28 PHP
php 分页原理详解
2009/08/21 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
js日期对象兼容性的处理方法
2014/01/28 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python用模块pytz来转换时区
2016/08/19 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
python 绘制国旗的示例
2020/09/27 Python
python爬虫 requests-html的使用
2020/11/30 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
幼儿园义卖活动方案
2014/01/17 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书