js怎么判断flash swf文件是否加载完毕

  js怎么判断flash是否加载完毕了呢?

  我们怎么在flash加载完毕之时,回调一个我们设定的js函数?

  这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!

  呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了?

  从前都是只知道img.onload等等。

  好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢?

  没错,就是轮询,然后判断flash的某个方法是否能正常运行?

  示例如下(伪代码):

01 (function () { 
02 var flash = 网页上某个flash对象。 
03   
04 var interval = setInterval(function () { 
05 try
06 if(flash.IsPlaying()) { //轮询flash的某个方法即可 
07 callBack && callBack.call(flash, args); //回调函数 
08 clearInterval(interval); 
09
10 } catch (ex) { 
11   
12
13 }, 1000); 
14   
15 var callBack = function () { 
16 alert('loaded'); 
17
18 })();

  //具体运用时,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的指定属性

时间: 2025-01-26 19:12:41

js怎么判断flash swf文件是否加载完毕的相关文章

js怎么判断flash swf文件是否加载完毕_javascript技巧

js怎么判断flash是否加载完毕了呢? 我们怎么在flash加载完毕之时,回调一个我们设定的js函数? 这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉! 呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了? 从前都是只知道img.onload等等. 好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢? 没错,就是轮询,然后判断flash的某个方法是否能正常运行? 示例如下(伪代码

Js判断CSS文件加载完毕的具体实现

 在多数情况下我们不需要判断css文件是否加载成功了,但有些时间这个功能还是需要的,今天我来整理了兼容各种浏览器的判断CSS文件加载完毕实现方法与各位分享 要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理:  代码如下: // 代码节选至seajs function styleOnload(node, callback) {     // for IE6-9 and Opera     i

Js判断CSS文件加载完毕的具体实现_javascript技巧

要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: 复制代码 代码如下: // 代码节选至seajsfunction styleOnload(node, callback) {    // for IE6-9 and Opera    if (node.attachEvent) {      node.attachEvent('onload', callback);      // NOT

Js判断CSS文件加载完毕的实例教程

要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理:  代码如下 复制代码 // 代码节选至seajs function styleOnload(node, callback) {     // for IE6-9 and Opera     if (node.attachEvent) {       node.attachEvent('onload', callback);       /

javascript-js中如何让模板引擎先加载完毕,再调用页面里被模板包裹的id?

问题描述 js中如何让模板引擎先加载完毕,再调用页面里被模板包裹的id? 如题,刚学没多久,纯新手,可能问的有问题,我用js模板引擎包裹了一段html,但是发现包裹之后,再用其他js调用这段HTML中的id就调不出来了,只要把代码不放在模板包裹里就可以调用,如何解决,或者说先让模板加载完毕,在运行下一个js? 解决方案 你所谓的js模板引擎包裹的一段html,出现在body标签里而不是js里了吗? 说白了,你不把那段html放到页面,只在js里,其他js是取不到的 解决方案二: html页面 b

js简单判断flash是否加载完成的方法_javascript技巧

本文实例讲述了js简单判断flash是否加载完成的方法.分享给大家供大家参考,具体如下: <script type="text/javascript"> //判定是否加载成功 function checkLoaded(flash){ try{ return Math.floor(flash.PercentLoaded()) == 100 }catch(e){ return false; } } var flash = 'flash对象'; var intervalID =

在css加载完毕后自动判断页面是否加入css或js文件_jquery

最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui.css,代码如下: //如果没有包含ui.js,则引用 if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{ $(""<script src='/js

完美解决JS文件页面加载时的阻塞问题_javascript技巧

关于页面加载时的时间消费,许多书中都做出了介绍,也提出了很多种方法.本文章就详细介绍XHR注入. 概述:JS分拆的方法 1.XHR注入:就是用ajax异步请求同域包含脚本的文件,然后将返回的字符串转化为脚本使用,该方法不会造成页面渲染和onload事件的阻塞,因为是异步处理,推荐使用. 2.iframe注入:加载一个iframe框架,通过使用iframe框架中的脚本来避免src方式加载脚本的阻塞,但是iframe元素开销较大,不推荐. 3.DOM注入:就是创建script元素,通过制定该元素的s

js获取判断上传文件后缀名的示例代码

 本篇文章主要是对js获取判断上传文件后缀名的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: function lastname(){  //获取欲上传的文件路径 var filepath = document.getElementById("file1").value;  //为了避免转义反斜杠出问题,这里将对其进行转换 var re = /(+)/g;  var filename=filepath.replace(re,"#");