JavaScript 实现 Flash 加载进度条与状态监控
作者:青柠时间:2026-10-24 19:48:35浏览:128
本文介绍如何使用 JavaScript 监控 Flash 对象的加载进度,通过调用 PercentLoaded 方法动态更新进度条宽度与文本。代码包含针对 Firefox 浏览器的特殊处理逻辑,并在加载完成后自动切换显示层,隐藏广告层并展示 Flash 内容。
HTML 结构定义
首先定义用于显示进度的进度条层:
具体实现代码如下:
<div><span class="intro">下载进度:</span>
<div class="barborder">
<div class="bar" id="loadpercent"></div>
</div>
</div> 接着定义广告展示层:
相关 HTML 代码如下:
<div id="showAD"></div>
随后定义 Flash 内容的显示层:
<div id="showSWF" class="show" style="display:none;">
<object id="flashgame" ......省略内容......>
</object>
</div>JavaScript 逻辑实现
接下来是核心的 JavaScript 逻辑代码:
具体脚本代码如下:
<script language="javascript">
if(window.navigator.userAgent.indexOf("Firefox")>=1)//判断是否为FIREFOX浏览器,FIREFOX不支持PercentLoaded()函数
{
document.getElementById("loadpercent").innerHTML= "Firefox!No Attentions";
document.getElementById("showSWF").style.display='block';
}
else
{
refreshProgress();
}
function show()//隐藏AD层、显示FLASH层
{
document.getElementById("showAD").style.display='none';
document.getElementById("showSWF").style.display='block';
}
function refreshProgress()//刷新进度条函数
{
var downProgressWidth=502;
var bar = document.getElementById("loadpercent");
var movie = document.getElementById("flashgame");
var nPercentLoaded = Math.abs(movie.PercentLoaded());
bar.style.width=Math.ceil(downProgressWidth*nPercentLoaded/100) +"px";
bar.innerHTML= nPercentLoaded +"%";
if(nPercentLoaded==100)
{
bar.style.width=(downProgressWidth-2) + "px"; bar.innerHTML= "Game download is complete"; show();
}
else
{
setTimeout('refreshProgress()',0);
}
} 实际上,参考主流 Flash 游戏网站的源码实现,是掌握此类控制技巧与知识的有效途径。
作者最新文章
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
JavaScript新手常犯的编码错误与最佳实践指南
2026-11-04 22:12:38
