js怎么判斷flash swf文件是否加載完畢
js怎么判斷flash是否加載完畢了呢?
我們怎么在flash加載完畢之時,回調(diào)一個我們設(shè)定的js函數(shù)?
這個問題,一直困擾了我很久,直到今天,請教了一個非常牛B的人物之后,突然來了感覺!
呵呵,也許,這個問題在你們看來不是問題,不過對于我來說,確實是個問題,因為我一直不知道該怎么判斷swf文件是否加載完畢了?
從前都是只知道img.onload等等。
好了,言歸正傳,我們到底該怎樣判斷一個flash是否加載完了呢?
沒錯,就是輪詢,然后判斷flash的某個方法是否能正常運行?
示例如下(偽代碼):
(function () {
var flash = 網(wǎng)頁上某個flash對象。
var interval = setInterval(function () {
try {
if(flash.IsPlaying()) { //輪詢flash的某個方法即可
callBack && callBack.call(flash, args); //回調(diào)函數(shù)
clearInterval(interval);
}
} catch (ex) {
}
}, 1000);
var callBack = function () {
alert('loaded');
}
})();
//具體運用時,flash放進(jìn)setInterval或者setTimeout的函數(shù)閉包中時,可能會由于JavaScript單線程問題,導(dǎo)致flash不能調(diào)用IsPlaying等flash player函數(shù)或者調(diào)用結(jié)果不對等狀況,這里有個臨時的解決辦法,我們可以讀取在輪詢函數(shù)中讀取flash的TotalFrames屬性,讀取得到,我們就可以認(rèn)為flash已經(jīng)完全加載到頁面中了!!!
經(jīng)測試,確實可行,不過可能會有1—2秒的時間延遲。
/////////////有什么不對的地方,歡迎勘誤!?。。。。。。?!//////////////
/*后面附上可控制Flash Player的js方法列表*/
Play() ---------------------------------------- 播放動畫
StopPlay()------------------------------------停止動畫
IsPlaying()----------------------------------- 動畫是否正在播放
GotoFrame(frame_number)---------------- 跳轉(zhuǎn)到某幀
TotalFrames()------------------------------- 獲取動畫總幀數(shù)
CurrentFrame()------------------------------回傳當(dāng)前動畫所在幀數(shù)-1
Rewind()-------------------------------------使動畫返回第一幀
SetZoomRect(left,top,right,buttom)-------放大指定區(qū)域
Zoom(percent)------------------------------改變動畫大小
Pan(x_position,y_position,unit)------------使動畫在x,y方向上平移
PercentLoaded()----------------------------返回動畫被載入的百分比
LoadMovie(level_number,path)----------- 加載動畫
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實現(xiàn)延時加載Flash的方法
- 使用javascript獲取flash加載的百分比的實現(xiàn)代碼
- Javascript 判斷Flash是否加載完成的代碼
- 純js無flash仿搜狐女人頻道FLASH圖片切換效果代碼
- JS仿flash上傳頭像效果實現(xiàn)代碼
- 可以媲美Flash的JS導(dǎo)航菜單
- 屏蔽Flash右鍵信息的js代碼
- JavaScript 類似flash效果的立體圖片瀏覽器
- JS/FLASH實現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- js實現(xiàn)網(wǎng)頁檢測是否安裝了 Flash Player 插件
- js簡單判斷flash是否加載完成的方法
相關(guān)文章
JavaScript省市聯(lián)動實現(xiàn)代碼
這篇文章主要介紹了JavaScript省市聯(lián)動實現(xiàn)代碼,需要的朋友可以參考下2014-02-02
Jupyter Notebook運行JavaScript的方法
Jupyter Notebook是一塊所見即所得的畫布,通過在瀏覽器上編輯代碼,讓開發(fā)人員實現(xiàn)展示與快速迭代的利器,本文主要介紹了Jupyter Notebook運行JavaScript的方法,感興趣的可以了解一下2021-05-05
解決WebStorm?2022.3.x?無法識別?Element?UI?2.15.11?新版本中的?el-
這篇文章主要介紹了解決?WebStorm?2022.3.x?無法識別?Element?UI?2.15.11?新版本中的?el-xxx?標(biāo)簽問題,本文給大家分享兩種解決方案,需要的朋友可以參考下2023-01-01

