js怎么判斷flash swf文件是否加載完畢
js怎么判斷flash是否加載完畢了呢?
我們?cè)趺丛趂lash加載完畢之時(shí),回調(diào)一個(gè)我們?cè)O(shè)定的js函數(shù)?
這個(gè)問(wèn)題,一直困擾了我很久,直到今天,請(qǐng)教了一個(gè)非常牛B的人物之后,突然來(lái)了感覺(jué)!
呵呵,也許,這個(gè)問(wèn)題在你們看來(lái)不是問(wèn)題,不過(guò)對(duì)于我來(lái)說(shuō),確實(shí)是個(gè)問(wèn)題,因?yàn)槲乙恢辈恢涝撛趺磁袛鄐wf文件是否加載完畢了?
從前都是只知道img.onload等等。
好了,言歸正傳,我們到底該怎樣判斷一個(gè)flash是否加載完了呢?
沒(méi)錯(cuò),就是輪詢(xún),然后判斷flash的某個(gè)方法是否能正常運(yùn)行?
示例如下(偽代碼):
(function () {
var flash = 網(wǎng)頁(yè)上某個(gè)flash對(duì)象。
var interval = setInterval(function () {
try {
if(flash.IsPlaying()) { //輪詢(xún)flash的某個(gè)方法即可
callBack && callBack.call(flash, args); //回調(diào)函數(shù)
clearInterval(interval);
}
} catch (ex) {
}
}, 1000);
var callBack = function () {
alert('loaded');
}
})();
//具體運(yùn)用時(shí),flash放進(jìn)setInterval或者setTimeout的函數(shù)閉包中時(shí),可能會(huì)由于JavaScript單線程問(wèn)題,導(dǎo)致flash不能調(diào)用IsPlaying等f(wàn)lash player函數(shù)或者調(diào)用結(jié)果不對(duì)等狀況,這里有個(gè)臨時(shí)的解決辦法,我們可以讀取在輪詢(xún)函數(shù)中讀取flash的TotalFrames屬性,讀取得到,我們就可以認(rèn)為flash已經(jīng)完全加載到頁(yè)面中了?。?!
經(jīng)測(cè)試,確實(shí)可行,不過(guò)可能會(huì)有1—2秒的時(shí)間延遲。
/////////////有什么不對(duì)的地方,歡迎勘誤?。。。。。。。。?/////////////
/*后面附上可控制Flash Player的js方法列表*/
Play() ---------------------------------------- 播放動(dòng)畫(huà)
StopPlay()------------------------------------停止動(dòng)畫(huà)
IsPlaying()----------------------------------- 動(dòng)畫(huà)是否正在播放
GotoFrame(frame_number)---------------- 跳轉(zhuǎn)到某幀
TotalFrames()------------------------------- 獲取動(dòng)畫(huà)總幀數(shù)
CurrentFrame()------------------------------回傳當(dāng)前動(dòng)畫(huà)所在幀數(shù)-1
Rewind()-------------------------------------使動(dòng)畫(huà)返回第一幀
SetZoomRect(left,top,right,buttom)-------放大指定區(qū)域
Zoom(percent)------------------------------改變動(dòng)畫(huà)大小
Pan(x_position,y_position,unit)------------使動(dòng)畫(huà)在x,y方向上平移
PercentLoaded()----------------------------返回動(dòng)畫(huà)被載入的百分比
LoadMovie(level_number,path)----------- 加載動(dòng)畫(huà)
TGotoFrame(movie_clip,frame_number)- movie_clip跳轉(zhuǎn)到指定幀數(shù)
TGotoLabel(movie_clip,label_name)------ movie_clip跳轉(zhuǎn)到指定標(biāo)簽
TCurrentFrame(movie_clip)--------------- 回傳movie_clip當(dāng)前幀-1
TCurrentLabel(movie_clip)-----------------回傳movie_clip當(dāng)前標(biāo)簽
TPlay(movie_clip)---------------------------播放movie_clip
TStopPlay(movie_clip)----------------------停止movie_clip的播放
GetVariable(variable_name)-----------------獲取變量
SetVariable(variable_name,value)-----------變量賦值
TCallFrame(movie_clip,frame_number)---call指定幀上的action
TCallLabel(movie_clip,label)----------------call指定標(biāo)簽上的action
TGetProperty(movie_clip,property)--------獲取movie_clip的指定屬性
TSetProperty(movie_clip,property,number)-設(shè)置movie_clip的指定屬性
- js實(shí)現(xiàn)延時(shí)加載Flash的方法
- 使用javascript獲取flash加載的百分比的實(shí)現(xiàn)代碼
- Javascript 判斷Flash是否加載完成的代碼
- 純js無(wú)flash仿搜狐女人頻道FLASH圖片切換效果代碼
- JS仿flash上傳頭像效果實(shí)現(xiàn)代碼
- 可以媲美Flash的JS導(dǎo)航菜單
- 屏蔽Flash右鍵信息的js代碼
- JavaScript 類(lèi)似flash效果的立體圖片瀏覽器
- JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- js實(shí)現(xiàn)網(wǎng)頁(yè)檢測(cè)是否安裝了 Flash Player 插件
- js簡(jiǎn)單判斷flash是否加載完成的方法
相關(guān)文章
HTML+JS實(shí)現(xiàn)經(jīng)典推箱子游戲
今天,這篇文章將利用HTML,CSS,JS的知識(shí)編寫(xiě)一個(gè)童年經(jīng)典游戲?-?推箱子,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11
Js 獲取當(dāng)前函數(shù)參數(shù)對(duì)象的實(shí)現(xiàn)代碼
這篇文章主要介紹了Js 獲取當(dāng)前函數(shù)參數(shù)對(duì)象的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-06-06
模擬javascript中的sort排序(簡(jiǎn)單實(shí)例)
下面小編就為大家?guī)?lái)一篇模擬javascript中的sort排序(簡(jiǎn)單實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
不用AI也能實(shí)現(xiàn)的文字自動(dòng)播報(bào)(SpeechSynthesis文本實(shí)例合成)
SpeechSynthesis是HTML5的一個(gè)新特性,基于SpeechSynthesis可以實(shí)現(xiàn)在客戶(hù)瀏覽器端進(jìn)行動(dòng)態(tài)文本的語(yǔ)音合成播放,這篇文章主要介紹了不用AI也能實(shí)現(xiàn)的文字自動(dòng)播報(bào)(SpeechSynthesis文本實(shí)例合成),需要的朋友可以參考下2023-03-03
JavaScript中的this基本問(wèn)題實(shí)例小結(jié)
這篇文章主要介紹了JavaScript中的this基本問(wèn)題,結(jié)合實(shí)例形式總結(jié)分析了JavaScript中this的功能、常見(jiàn)用法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03

