flash 文件是否存在判斷代碼
更新時間:2009年06月16日 23:35:47 作者:
因在制作播放器列表,想判斷一下音樂文件是否存在,于是上網(wǎng)查了一下,大部分代碼為
復制代碼 代碼如下:
var exist = new LoadVars();
exist.onLoad = function(success) {
if(!success) {
trace("文件不存在");
}
}
exist.load("文件名");
此代碼應該說嚴重誤導我們,onLoad事件指的是把文件下載完后執(zhí)行的代碼。如果只判斷本機文件還可以,因為不用下載,如果是判斷網(wǎng)絡文件就麻煩了,如果你要判斷網(wǎng)上一部電影,對不起,等下載完這部電影才告訴你是否存在。
于是我想到應該只判斷該文件是否存在,只判斷一下它有沒有內(nèi)容,即getBytesTotal(),獲取它總共多少字節(jié),如果當前沒有執(zhí)行加載操作或者尚未開始加載操作,此方法將返回 undefined。如果無法確定總字節(jié)數(shù)(例如,如果下載已開始但服務器尚未傳輸 HTTP Content-Length),此方法也將返回 undefined。于是我們可以這樣判斷文件是否存在:
復制代碼 代碼如下:
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判斷,因為發(fā)現(xiàn)不準,文件不存在時int(total)=101
delete item_mc.onEnterFrame;
trace("文件存在");
trace(int(total));//返回總字節(jié)
}
}
item_mc.target=exist;
exist.load("文件地址");
相關文章
FlashObject之Flash的檢測和嵌入Javascript腳本
FlashObject之Flash的檢測和嵌入Javascript腳本...2007-03-03Flash兩個上傳示例ASP和PHP(原文件下載,包括后臺程序)
Flash兩個上傳示例ASP和PHP(原文件下載,包括后臺程序)...2006-11-11AS3.0 實例學習 熟悉addChild和removeChild在不同的swf之間的運用,以及l(fā)oader的用法
這篇文章通過實例給大家介紹了AS3.0 實例學習 熟悉addChild和removeChild在不同的swf之間的運用,以及l(fā)oader的用法,非常不錯,需要的朋友參考下吧2007-12-12