轮询判断加载进度

img的加载完成有onload方法,一直不知道该怎么判断swf文件是否加载完毕了?

在应用中使用了轮询判断加载进度值PercentLoaded是否达到100,经测试,可以达到效果。

 //轮询判断swf是否加载完成
(function () {
var flash = flashObject;//flashObject的对象
that.intervalId = setInterval(function () {
try {
console.log(flash.PercentLoaded());
if (flash.PercentLoaded() == 100) {
clearInterval(that.intervalId);
}
} catch (e) {
clearInterval(that.intervalId);
console.log(e);
}
}, 500);
})();

下面补充一些flash常用的API和object设置的属性值:

flash常用的API

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的指定属性

<object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.
macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="580" height="110">
<param name="_cx" value="10372">
<param name="_cy" value="2355">
<param name="FlashVars" value="-1">
<param name="Movie" value="swf.swf">
<param name="Src" value="1.swf">
<param name="WMode" value="Transparent">
<param name="Play" value="-1">
<param name="Loop" value="-1">
<param name="Quality" value="High">
<param name="SAlign" value>
<param name="Menu" value="0">
<param name="Base" value>
<param name="AllowScriptAccess" value="always">
<param name="Scale" value="ShowAll">
<param name="DeviceFont" value="0">
<param name="EmbedMovie" value="0">
<param name="BGColor" value>
<param name="SWRemote" value>
<embed src="http://jaykong.blog.163.com/blog/1.swf" width="580" height="110" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-
flash" wmode="transparent" menu="false"></embed>
</object>

Object param属性 释义

参数和属性

下列标记属性和参数描述了由“发布”命令创建的 HTML 代码。在编写自己的用于显示 Flash 内容的 HTML 时,可以参考此列表。除非特别说明,否则所有条目都同时适用于 object 标记和 embed 标记。可选条目也在此列出。Internet Explorer 可以识别用于 object 标记的参数,而 Netscape 则可以识别用于 embed 标记的参数。属性既可用于 object 标记,也可用于 embed 标记。当自定义模板时,可以用此处列出的模板变量替代相应的值。请参阅自定义 HTML 发布模板。

注意:此部分中列出的属性和参数特意以小写字母显示,以符合 XHTML 标准。

devicefont 属性/参数

值: true | false
模板变量:$DE
说明:
(可选)对于未选定“设备字体”选项的静态文本对象,指定是否仍使用设备字体进行绘制(如果操作系统提供了所需字体)。

src 属性

值: movieName.swf
模板变量:$MO
说明 : 指定要加载的 SWF 文件的名称。仅适用于 embed。

movie 参数

值: movieName.swf
模板变量:$MO
说明: 指定要加载的 SWF 文件的名称。仅适用于 object。

classid 属性

值: clsid:D27cdb6e-ae6d-11cf-96b8-444553540000
说明: 标识浏览器的 ActiveX 控件。输入的值必须与上面的显示完全一致。仅适用于 object。

width 属性

值: n 或 n%
模板变量:$WI
说明:以像素值或浏览器窗口的百分比值来指定应用程序的宽度。

height 属性

值: n 或 n%
模板变量:$HE
说明: 以像素值或浏览器窗口的百分比值来指定应用程序的高度。

注意:因为 Flash 应用程序是可缩放的,所以只要高宽比保持不变,不论以任何尺寸播放,它们的品质都不会降低。(例如,以下尺寸的高宽比都是 4:3:640 x 480 像素、320 x 240 像素和 240 x 180 像素。)

codebase 属性

值: active.macromedia.com/flash7/cabs/swflash.cab#version=7,0,0,0

说明: 标识 Flash Player ActiveX 控件的位置,以便在尚未安装该控件时,浏览器可以自动下载它。输入的值必须与上面的显示完全一致。仅适用于 object。

pluginspage 属性

值: www.macromedia.com/shockwave/download/index.cgi?P1_Prod_
Version=ShockwaveFlash
说明: 标识 Flash Player 插件的位置,以便在尚未安装该插件时,用户可以下载它。输入的值必须与上面的显示完全一致。仅适用于 embed 。

swliveconnect 属性

值: true | false
说明: (可选)指定第一次加载 Flash Player 时浏览器是否应启动 Java。如果忽略此属性,默认值为 false。如果在同一页面上同时使用 JavaScript 和 Flash,Java 必须处于运行状态,FSCommand() 函数才能起作用。但是,如果您运行 JavaScript 只是为了检测浏览器或用于其他与 fscommand() 动作无关的目的,则可以通过将 SWLIVECONNECT 设置为 false,从而防止 Java 启动。当没有将 JavaScript 和 Flash 一起使用时,也可以通过将 SWLIVECONNECT 属性明确设置为 true,强制 Java 启动。启动 Java 会显著增加启动 SWF 文件所需的时间,因此,只有在必要时才应将此标记设置为 true。仅适用于 embed。

使用 fscommand() 动作可从独立的放映文件中启动 Java。

play 属性/参数

值: true | false
模板变量:$PL
说明:(可选)指定应用程序是否在浏览器中加载时就开始播放。如果您的 Flash 应用程序是交互式的,则可以让用户通过单击按钮或执行某些其他任务来开始播放。在这种情况下,将 play 属性设置为 false 可禁止应用程序自动开始播放。如果忽略此属性,默认值为 true。

loop 属性/参数

值: true | false
模板变量:$LO
说明: (可选)指定 Flash 内容在它到达最后一帧后是无限制重复播放还是停止。如果忽略此属性,默认值为 true。

quality 属性/参数

值: low | medium | high | autolow | autohigh | best
模板变量:$QU
说明: (可选)指定在应用程序回放期间使用的消除锯齿级别。因为消除锯齿需要更快的处理器先对 SWF 文件的每一帧进行平滑处理,然后再将它们呈现到观众屏幕上,所以需要根据要优化速度还是优化外观来选择一个值:

“Low”使回放速度优先于外观,而且从不使用消除锯齿功能。

“Autolow”优先考虑速度,但是也会尽可能改善外观。回放开始时,消除锯齿功能处于关闭状态。如果 Flash Player 检测到处理器可以处理消除锯齿功能,就会打开该功能。

“Autohigh”在开始时是回放速度和外观两者并重,但在必要时会牺牲外观来保证回放速度。回放开始时,消除锯齿功能处于打开状态。如果实际帧 频降到指定帧频之下,就会关闭消除锯齿功能以提高回放速度。使用此设置可模拟 Flash 中的“消除锯齿”命令(“查看”>“预览模式”>“消除锯齿”)。

“Medium”会应用一些消除锯齿功能,但并不会平滑位图。该设置生成的图像品质要高于“Low”设置生成的图像品质,但低于“High”设置生成的图像品质。

“High”使外观优先于回放速度,它始终应用消除锯齿功能。如果 SWF 文件不包含动画,则会对位图进行平滑处理;如果 SWF 文件包含动画,则不会对位图进行平滑处理。

“Best”提供最佳的显示品质,而不考虑回放速度。对所有输出都进行消除锯齿处理,并且对所有位图都进行平滑处理。

如果忽略 quality 属性,其默认值为 high。

bgcolor 属性/参数

值: #RRGGBB(十六进制 RGB 值)
模板变量:$BG
说明: (可选)指定应用程序的背景色。使用此属性来覆盖在 Flash SWF 文件中指定的背景色设置。此属性不影响 HTML 页面的背景色。

scale 属性/参数

值: showall | noborder | exactfit
模板变量:$SC
说明: (可选)当 width 和 height 值是百分比时,定义应用程序如何放置在浏览器窗口中。

“Showall”(默认值)使整个 Flash 内容显示在指定区域中,且不会发生扭曲,同时保持它的原始高宽比。边框可能会出现在应用程序的两侧。

“Noborder”对 Flash 内容进行缩放以填充指定区域,不会发生扭曲,它会使应用程序保持原始高宽比,但有可能会进行一些裁剪。

“Exactfit”使整个 Flash 内容显示在指定区域中,但不尝试保持原始高宽比。可能会发生扭曲。

如果忽略此属性(而且 width 和 height 值是百分比),则它的默认值是 showall。

align 属性

值: Default | L | R | T | B 
模板变量:$HA
说明: 指定 object、embed 和 img 标记的 align 值,并确定如何在浏览器窗口内放置 Flash SWF 文件。

“默认”使应用程序在浏览器窗口内居中显示,如果浏览器窗口小于应用程序,则会裁剪边缘。

L、R、T 和 B 让应用程序分别沿着浏览器窗口的左、右、上、下边缘对齐,并根据需要裁剪其余三边。

salign 参数

值: L | R | T | B | TL | TR | BL | BR 
模板变量:$SA
说明: (可选)指定缩放的 Flash SWF 文件在由 width 和 height 设置定义的区域内的位置。有关这些条件的详细信息,请参阅scale 属性/参数。

L、R、T 和 B 让应用程序分别沿着浏览器窗口的左、右、上、下边缘对齐,并根据需要裁剪其余三边。

TL 和 TR 让应用程序分别与浏览器窗口的左上角和右上角对齐,并根据需要裁剪底边和剩余的右侧或左侧边缘。

BL 和 BR 让应用程序分别与浏览器窗口的左下角和右下角对齐,并根据需要裁剪顶边和剩余的右侧或左侧边缘。

如果忽略此属性,Flash 内容会在浏览器窗口中居中显示。

base 属性

值: 基本目录或 URL
说明: (可选)指定用于解析 Flash SWF 文件中的所有相对路径语句的基本目录或 URL。如果 SWF 文件保存在与您的其他文件不同的目录下,这个属性是非常有用。

menu 属性/参数

值: true | false
模板变量:$ME
说明: (可选)指定当观众在浏览器中右击 (Windows) 或按住 Command 键单击 (Macintosh) 应用程序区域时将显示的菜单类型。

“true” 显示完整的菜单,让用户使用各种选项增强或控制回放。

“false” 显示的是一个只包含“关于 Macromedia Flash Player 6”选项和“设置”选项的菜单。

如果忽略此属性,默认值为 true。

wmode 属性/参数

值: Window | Opaque | Transparent
模板变量:$WM
说明: (可选)使您可以使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示的功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。

“Window”在 Web 页上用影片自己的矩形窗口来播放应用程序。“Window”表明 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。

“Opaque” 使应用程序隐藏页面上位于它后面的所有内容。

“Transparent”使 HTML 页的背景可以透过应用程序的所有透明部分进行显示,这样可能会降低动画性能。

“Opaque windowless”和“Transparent windowless” 都可与 HTML 层交互,并允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于“Transparent”允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来。

如果忽略此属性,默认值为 Window。仅适用于 object。

项目中曾遇到的问题:xp上用object封装flash文件后,在外层的dom接收不到object上的事件,改为Opaque后可以接受事件

allowscriptaccess 属性/参数

值: always | never | samedomain
说明: 使用 allowscriptaccess 使 Flash 应用程序可与承载它的 HTML 页通信。此参数是必需的,因为 fscommand() 和 getURL() 操作可能导致 JavaScript 使用 HTML 页的权限,而该权限可能与 Flash 应用程序的权限不同。这与跨域安全性有着重要关系。

always 允许随时执行脚本操作。

never 禁止所有脚本执行操作。

samedomain 只有在 Flash 应用程序来自与 HTML 页相同的域时才允许执行脚本操作。

参考:https://blog.csdn.net/major_/article/details/26377351

js判断flash文件是否加载完毕的更多相关文章

  1. 为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件

    为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件.样式文件命名格式如:forms[_屏幕宽度].css,样式文件中只需重新定义文本框和下拉框的宽度即可. 在包含的头文件 ...

  2. jq常用事件(on,blur,focus,change),js/jq等待图片(页面)加载完毕事件,js读取文件

    jq常用事件(on,blur,focus,change) // 方法一(推荐) $('.box').on( "click",function() {} ) $('.box').on ...

  3. 常用js,css文件统一加载方法,并在加载之后调用回调函数

    原创内容,转载请注明出处! 为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护.所以我用js写了以下方法,存放在“sourceControl ...

  4. JS 判断滚动底部并加载更多效果。。。。。。。。。

    JS 判断滚动底部并加载更多效果......... <html lang="zh-cn"> <head> <meta http-equiv=" ...

  5. JavaScript判断图片是否已经加载完毕的方法汇总

    在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示: 一.onload事件 通过监 ...

  6. JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)

    //平台.设备和操作系统 var system ={ win : false, mac : false, xll : false }; //检测平台 var p = navigator.platfor ...

  7. 原生JS与jQuery文档加载完毕的写法

    HTML是有执行顺序的,默认是自上而下执行.所以当我们的js代码在html代码下边的时候,可以正常执行,而当我们的js代码在html代码上边的时候,可以就无法正常执行了,这时,我们需要在文档加载完毕的 ...

  8. JavaScript判断页面是否已经加载完毕

    做页面时经常会遇到当前页面加载完成后,执行某些初始化工作.这时候就要知道如何判断页面(包括IFRAME)已经加载完成,代码如下: < script language = "javasc ...

  9. 判断css文件是否加载完成

    function cssReady(fn, link) { var d = document, t = d.createStyleSheet, r = t ? 'rules' : 'cssRules' ...

随机推荐

  1. Poj2723:Get Luffy Out

    题意 给出 n 对钥匙,每对只能挑一把使用,每把只能用一次,当一对钥匙中的一把被使用后,另一把也就不能再用了:然后给出 m 道门,每个门都有两把钥匙可以打开,问最多能开几道门(按给出的顺序开). So ...

  2. 关于Flex的DataGridColumn 的editorDataField属性

    本人Flex菜鸟,纯纯的小白 最近在项目中提了一个需求,其实这个需求就是在原有的列表中接一列数据,只不过这一列数据是下拉列表选择的 最关键的是貌似以前的某一位大神已经添加过,我的工作就是调通,可是就是 ...

  3. 用CSS画出好玩的图形

    1.上三角 #triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px so ...

  4. 使用Python解析豆瓣上Json格式数据

    现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...

  5. AJAX跨域问题解决思路

    ajax跨域问题的解决思路主要分为3种: 1.浏览器限制解决思路:不让浏览器做出限制解决方法:通过指定参数,让浏览器不做跨域校验评价:价值不大,需要每个人都做改动,而且改动是客户端的改动 2.XHR请 ...

  6. 世界上最好的语言搭建短链接及统计功能(附API代码)

    前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数.下载量.来源以及时间等等. 网上搜寻了一下比较有名有U.NU和0 ...

  7. Microsoft AI - Custom Vision

    概述 前几天的 Windows Developer Day 正式发布了 Windows AI Platform,而作为 Windows AI Platform 的模型定义和训练,更多还是需要借助云端来 ...

  8. 一些常用的CSS样式

    1. overflow: auto 允许盒子容器内容自动上下滚动 2. style="color:red solid" 设置元素边框样式 3.  white-space:nowra ...

  9. spring集成redis

    redis是一种非关系型数据库,与mongoDB不同的是redis是内存数据库,所以访问速度很快.常用作缓存和发布-订阅式的消息队列.redis官方没有提供windows版本的软件.windows版本 ...

  10. 新手立体四子棋AI教程(2)——价值评估函数

    上一篇我们完成了整个程序的基础框架,那么在讲到真正的搜索算法前,我们先来看看五子棋如何评估当前局势,以及如何计算某个位置的价值. 一.五子棋 在五子棋中,包括成五,活三,活二等定势,下图为山东师范大学 ...