快速业务通道

检测外部文件的存在

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10


早前看见有人讨论这个方法,当时我也没怎么在意,觉得用getBytesTotal();就应该可以完成,后来看见其实有个更好的办法 就是使用LoadVars类,举个例子,把下面的代码copy到第一帧,并在同一目录下建立两个文件,mySwf1.swf和mySwf2.swf.

var fileExists = new LoadVars();
fileExists._parent=this;
fileExists.onLoad=function(success){
if(success)
this._parent.loadMovie("mySwf2.swf");
}
fileExists.load("mySwf1.swf");
以上代码:
第一行是声明一个LoadVars类的实例fileExists
第二行为此实例定义一个属性指向当前层,例子中即_root,因为LoadVars没有_parent属性,其实定义别的名字都可以,只是用_parent更一幕了然
第三行代码是一个onLoad事件,如果用过XML类,或者Sound类等加载过外部文件一定不会陌生,LoadVars的onLoad事件也一样,判断加载完毕,并有个参数success,当然名字也是自定义的
第四行就是判断是否有加载完毕了
第五行是如果第四行判断加载是完毕了,那么就loadMovie外部的mySwf2.swf文件,此时的this是指实例fileExists,this._parent就是第二行定义的一个属性
最后一行,是LoadVars的一个load方法,用来加载外部信息,例子中加载的是mySwf1.swf,此方法可以用来加载任何信息,哪怕是Flash不能被加载入的,比如doc,exe....等等等,因为她只是判断是否有信息被加入,不过要记住的是,一定要有信息被加载才可以,换句话说就是:哪怕你load一个不知名文件,但是她是有大小的,那么onLoad中的success也会在信息加载完后执行,而如果load的哪怕是一个swf或者是一个txt,可是却是无大小的,好像一个字节也没有写入的txt大小为0bit的文件,onLoad的success是不会ok的 这里我做了一个简单的,用LoadVars来判断加载外部一串图片,名字按顺序排列,如果当中有号码的图片缺掉就直接跳下一个号码下载

counts = 0;
path = "pic0"+(++counts)+".jpg";
var fileExists = new LoadVars();
fileExists._parent=this; // 因为LoadVars没有_parent属性,所以需要自定义一下,其实可以定义为别的名字,只是用"_parent" 更明确
fileExists.onLoad = function(success) {
if (success) {
var room = this._parent.createEmptyMovieClip("gallery"+counts, counts);
room.loadMovie(path);
//room._xscale=room._yscale=50;
//room._x=counts*50;
path = "pic0"+(++counts)+".jpg";
this.load(path);
} else {
// 载入图片一共8副,全部判断完毕就删除onLoad事件
if(counts>8) delete this.onLoad();
// 向后检测
path = "pic0"+(++counts)+".jpg";
room.loadMovie(path);
this.load(path);
}
};
// load外部数据
fileExists.load(path);

源文件下载:
点击浏览该文件 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号