flash判断文件是否存在

稿件来源: 太阳光网页设计   撰稿作者: 太阳光   发表日期: 2009-06-13 11:27:41   阅读次数: 558   查看权限: 游客查看

因在制作flash播放器列表,想判断一下音乐文件是否存在,网上查到的方法存在一点问题,所以自己想出另一种方法。

因在制作播放器列表,想判断一下音乐文件是否存在,于是上网查了一下,大部分代码为:

var exist = new LoadVars(); 
exist.onLoad = function(success) { 
if(!success) { 
trace("文件不存在"); 
} 
} 
exist.load("文件名");


此代码应该说严重误导我们,onLoad事件指的是把文件下载完后执行的代码。如果只判断本机文件还可以,因为不用下载,如果是判断网络文件就麻烦了,如果你要判断网上一部电影,对不起,等下载完这部电影才告诉你是否存在。

于是我想到应该只判断该文件是否存在,只判断一下它有没有内容,即getBytesTotal(),获取它总共多少字节,如果当前没有执行加载操作或者尚未开始加载操作,此方法将返回 undefined。如果无法确定总字节数(例如,如果下载已开始但服务器尚未传输 HTTP Content-Length),此方法也将返回 undefined。于是我们可以这样判断文件是否存在:

var exist = new LoadVars(); 
this.createEmptyMovieClip("item_mc", this.getNextHighestDepth());
var n:Number=0;
item_mc.onEnterFrame=function(){ 
n++;
 var total =this.target.getBytesTotal();
 if(n>10&&int(total)>0){
//onEnterFrame一秒中会运行十次左右,开始第一次因网速问题,常常会total=0;第二次以上才会获取到数据,这里设置它10次机会获取,如果还获取不到数据,那肯定文件不存在 
  trace("文件存在");
  trace(int(total));//返回总字节
delete item_mc.onEnterFrame;
 }else{
trace("文件不存在");
delete item_mc.onEnterFrame;

}
 
}
item_mc.target=exist;
exist.load("文件地址");

关键词: flash判断,flash,播放器   编辑时间: 2010-09-17

  • 感到高兴

    1

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
100%(1)
0%(0)
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐