flash 文件是否存在判斷代碼
更新時(shí)間:2009年06月16日 23:35:47 作者:
因在制作播放器列表,想判斷一下音樂(lè)文件是否存在,于是上網(wǎng)查了一下,大部分代碼為
復(fù)制代碼 代碼如下:
var exist = new LoadVars();
exist.onLoad = function(success) {
if(!success) {
trace("文件不存在");
}
}
exist.load("文件名");
此代碼應(yīng)該說(shuō)嚴(yán)重誤導(dǎo)我們,onLoad事件指的是把文件下載完后執(zhí)行的代碼。如果只判斷本機(jī)文件還可以,因?yàn)椴挥孟螺d,如果是判斷網(wǎng)絡(luò)文件就麻煩了,如果你要判斷網(wǎng)上一部電影,對(duì)不起,等下載完這部電影才告訴你是否存在。
于是我想到應(yīng)該只判斷該文件是否存在,只判斷一下它有沒(méi)有內(nèi)容,即getBytesTotal(),獲取它總共多少字節(jié),如果當(dāng)前沒(méi)有執(zhí)行加載操作或者尚未開(kāi)始加載操作,此方法將返回 undefined。如果無(wú)法確定總字節(jié)數(shù)(例如,如果下載已開(kāi)始但服務(wù)器尚未傳輸 HTTP Content-Length),此方法也將返回 undefined。于是我們可以這樣判斷文件是否存在:
復(fù)制代碼 代碼如下:
var exist = new LoadVars();
this.createEmptyMovieClip("item_mc", this.getNextHighestDepth());
item_mc.onEnterFrame=function(){
var total =this.target.getBytesTotal();
if(int(total)>101){
//這里沒(méi)有使用total==undefined判斷,因?yàn)榘l(fā)現(xiàn)不準(zhǔn),文件不存在時(shí)int(total)=101
delete item_mc.onEnterFrame;
trace("文件存在");
trace(int(total));//返回總字節(jié)
}
}
item_mc.target=exist;
exist.load("文件地址");
相關(guān)文章
用as檢測(cè)服務(wù)器端的某個(gè)flv文件是否存在的代碼
用as檢測(cè)服務(wù)器端的某個(gè)flv文件是否存在的代碼...2007-03-03FlashObject之Flash的檢測(cè)和嵌入Javascript腳本
FlashObject之Flash的檢測(cè)和嵌入Javascript腳本...2007-03-03Flash兩個(gè)上傳示例ASP和PHP(原文件下載,包括后臺(tái)程序)
Flash兩個(gè)上傳示例ASP和PHP(原文件下載,包括后臺(tái)程序)...2006-11-11關(guān)于FLASH與XML交互應(yīng)用中的理解
關(guān)于XML在FLASH中的應(yīng)用,以前寫(xiě)過(guò)幾篇。也收集了幾篇來(lái)自網(wǎng)絡(luò)的。不過(guò),都是一些非常簡(jiǎn)單而常用的。在這里,我把XML的其他相關(guān)說(shuō)明總結(jié)一下。有不足之處,希望大家能相互補(bǔ)充。只為了一個(gè)共同的目的:共同提高。2008-04-04AS3.0 實(shí)例學(xué)習(xí) 熟悉addChild和removeChild在不同的swf之間的運(yùn)用,以及l(fā)oader的用法
這篇文章通過(guò)實(shí)例給大家介紹了AS3.0 實(shí)例學(xué)習(xí) 熟悉addChild和removeChild在不同的swf之間的運(yùn)用,以及l(fā)oader的用法,非常不錯(cuò),需要的朋友參考下吧2007-12-12