欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
探索Flash播放器“運行緩慢”的原因及解決方案

探索Flash播放器“運行緩慢”的原因及解決方案

Filed under: Resources — Aw @ 6:02 pm

轉載請注明出處:探索Flash播放器“運行緩慢”的原因及解決方案 - http://as3blog.com/resources/upload-causing-flashplayer-slowly/

最近在實(shí)現基于JavaScript和ActionScript的“批量文件上傳系統”。感謝SWFUpload這樣一個(gè)有趣的項目,從前到后ActionScript(AS2)、JavaScript和PHP都已經(jīng)基本搞定。然而,當我把本地的PHP腳本移到服務(wù)器上之后,在上傳大文件時(shí),瀏覽器端的FlashPlayer總是彈出如下警告:

A script in this movie is causing Adobe Flash Player to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort the script?

大致意思是:“該Flash中有一段單幀腳本導致Flash播放器運行緩慢,如果繼續,很可能會(huì )引發(fā)‘死機’現象”。其中,單幀腳本是指在Flash的一個(gè)關(guān)鍵幀中所處理的腳本。

Flash程序,也就是ActionScript,和C++、Java不同,ActionScript在2.0之前的入門(mén)門(mén)檻非常低,幾乎小學(xué)生學(xué)幾天都可以寫(xiě)一個(gè)上來(lái)溜溜(這并不是一件壞事)。這樣一來(lái),產(chǎn)生了不少效率低下的作品,甚至不少Flash動(dòng)畫(huà)含有潛在的死循環(huán)體(例如點(diǎn)擊某個(gè)按鈕后執行死循環(huán))。雖然我們應該給初學(xué)者鼓勵,但對于while(true)類(lèi)似的死循環(huán),則無(wú)疑嚴重破壞了用戶(hù)體驗,甚至會(huì )給用戶(hù)造成不必要的損失。因此,對于編寫(xiě)不規范的ActionScript代碼,采取這種措施是非常有必要的。

Adobe官方的解釋是“幾乎沒(méi)有一個(gè)用戶(hù)愿意為一個(gè)操作等待15秒以上的時(shí)間,他們(用戶(hù))會(huì )認為應用程序出了問(wèn)題”。因此,Adobe非常“人性化地”在這個(gè)“由眾多專(zhuān)家調查而得出的15秒”的時(shí)間段后給用戶(hù)一個(gè)提示。同時(shí),也給出了一些方法,例如,可以將循環(huán)“分攤”到不同的關(guān)鍵幀上。對于載入服務(wù)器端數據,如XML文件的案例,當被載入數據超過(guò)64k的時(shí)候,應將數據分開(kāi)載入,并以不同的關(guān)鍵幀建立HTTP請求。這么做,比較類(lèi)似我們在JavaScript中通過(guò)setInterval、setTimeout來(lái)解決。例如曾經(jīng)寫(xiě)過(guò)一段JavaScript代碼來(lái)改變整個(gè)頁(yè)面鏈接的href屬性,提供增加alexa排名的可能性。

很遺憾,Adobe忽略了一件事:文件上傳。

FileReference和FileReferenceList兩個(gè)類(lèi)在Flash8的引入,無(wú)疑是Flash在Browser端應用極大的突破之一,曾經(jīng)困擾Web開(kāi)發(fā)者的Ajax文件上傳批量上傳,尤其是對文件類(lèi)型、大小的客戶(hù)端檢測,如今都能依靠FlashPlayer實(shí)現。而且,借助Flash8的External API,可以使ActionScript與JavaScript方便地通信,這樣就可以讓FlashPlayer在“幕后”完成一切的文件操作,而讓DOM(HTML)來(lái)展現內容。

然而,恰恰是如此好的功能,卻幾乎每次都會(huì )受到上面提到的“腳本超時(shí)保護”的困擾。顯然,Adobe官方的解決方案在這里就行不通了。

利用Google搜索,發(fā)現無(wú)數的人也在詢(xún)問(wèn)同樣的問(wèn)題。后來(lái)在這篇介紹用Flex實(shí)現的批量上傳的文章后的評論里面,找到了一個(gè)叫做“Timothee Groleau”的哥們的“自問(wèn)自答”,終于解開(kāi)了迷團:FlashPlayer在觸發(fā)并執行用戶(hù)定義的腳本(就是你編寫(xiě)的ActionScript)時(shí),會(huì )重置“腳本超時(shí)值”(上文提到的15秒)。這樣,我們可在某一個(gè)“馬甲MovieClip”上綁定一個(gè)onEnterFrame事件,讓它不斷地(逐幀)執行。最簡(jiǎn)單的做法就是:

_root.onEnterFrame=function(){return false}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Flash視頻教程【動(dòng)畫(huà)制作】【14個(gè)版本】【yx.yyyttt.com】
Flash Player 開(kāi)源 2006/11/10
Adobe Flash CS4快捷鍵大全
(轉)Adobe flash media server 開(kāi)發(fā)者向導一
Flex中文幫助
編程入門(mén)與提高---聲音篇
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久