flash 文件是否存在判斷代碼
更新時(shí)間:2009年06月16日 23:35:47 作者:
因在制作播放器列表,想判斷一下音樂文件是否存在,于是上網(wǎng)查了一下,大部分代碼為
復(fù)制代碼 代碼如下:
var exist = new LoadVars();
exist.onLoad = function(success) {
if(!success) {
trace("文件不存在");
}
}
exist.load("文件名");
此代碼應(yīng)該說嚴(yán)重誤導(dǎo)我們,onLoad事件指的是把文件下載完后執(zhí)行的代碼。如果只判斷本機(jī)文件還可以,因?yàn)椴挥孟螺d,如果是判斷網(wǎng)絡(luò)文件就麻煩了,如果你要判斷網(wǎng)上一部電影,對(duì)不起,等下載完這部電影才告訴你是否存在。
于是我想到應(yīng)該只判斷該文件是否存在,只判斷一下它有沒有內(nèi)容,即getBytesTotal(),獲取它總共多少字節(jié),如果當(dāng)前沒有執(zhí)行加載操作或者尚未開始加載操作,此方法將返回 undefined。如果無法確定總字節(jié)數(shù)(例如,如果下載已開始但服務(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){
//這里沒有使用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)文章
超級(jí)SWF跟蹤器-巧用LocalConnection的代碼
超級(jí)SWF跟蹤器-巧用LocalConnection的代碼...2007-03-03
使用 AllowNetworking Flash的世界安靜了
使用 AllowNetworking Flash的世界安靜了...2007-03-03
SWF自適應(yīng)布局技巧 (Rapid Flash Development)快速Flash開發(fā)
當(dāng)我們開發(fā)全站式Flash應(yīng)用時(shí),希望呈現(xiàn)一個(gè)鋪滿瀏覽器屏幕的Flash.2008-12-12
幫助你學(xué)習(xí) Flash / ActionScript的12個(gè)網(wǎng)站
Adobe Flash是一個(gè)很好的技術(shù),該技術(shù)允許開發(fā)人員加入的互動(dòng)性和平穩(wěn)的動(dòng)畫網(wǎng)頁(yè)。 其受歡迎程度是如此巨大,您可以看到許多網(wǎng)站,致力于幫助開發(fā)者有興趣在閃光。2008-12-12
Flash中常用到的ActionScript控制語(yǔ)句用法
Flash中常用到的ActionScript控制語(yǔ)句用法...2007-03-03

