Flex 頁面空白或Error #2032: 流錯誤處理辦法


日前用flex、arcgis做了一個地圖顯示的頁面,本機調試沒問題,發布后放到用戶服務器上(win2003,ie6)ie6顯示頁面空白,換搜狗瀏覽器顯示Error #2032,只顯示進度條,客戶端用ie6顯示空白,360瀏覽器等顯示Error #2032。用下面兩種方法聯合后問題解決。

從網上找的幾個解決辦法,留做備用

第一種情況:

狀況:在安裝flshbuilder的機器上調試或發布用多種瀏覽器運行都沒問題,但發布到沒裝flshbuilder的機器上后別的機器除了裝過flshbuilder的機器上運行正常外,其余都頁面空白

 

原因:flex發布的有問題
方法:打開項目如demo,選擇項目->屬性-》flex構建路徑,框架鏈接,選擇“合並到代碼中”,再把下面“在調試時使用本地調試運行時共享庫”的溝去掉
然后發布,
就可以了
第二種情況:
狀況:ie能正常顯示頁面,其他瀏覽器顯示空白或 Error #2032
原因:IIS沒有swz文件的MIME類型

方法: 在IIS中,添加一個MIME 類型 文件擴展名 .swz MIME 類型: application/x-shockwave-flash 或者不要選擇rsl,方法如下:IIS -> 網站 -> 屬性 -> HTTP頭 -> MIME類型 -> 新建 擴展名:.swz/ MIME類型:application/x-shockwave-flash -> 確定

 

參考文章:http://ilovekagamisama.iteye.com/blog/1198937

內容:在flex程序初始化默認加載滾動條還沒出來時就報了Error 2032 IO流錯誤,但只限於三維演示廳里的用戶機上運行時才出現,別的機器都正常,后來將flash builder中的編譯參數改為merged into swf,就是將flex框架嵌入到swf里面,而不是使用shared library共享庫,問題解決。

過了幾個月又碰到這個問題,只是在筆記本上會報Error2032,在其他電腦上都沒問題,用Fiddler分析http請求發現,在使用RSL的flex程序初始化時會去下載xxx.swz文件,而IIS服務器返回的是404找不到此文件,而服務器上分明有這個文件,懷疑是IIS沒有swz文件的MIME類型,在IIS上增加swz的MIME類型為application/x-swz后,問題解決!

為什么只在某些電腦上發生這個錯誤?因為RSL的機制問題,當flash player第一次訪問使用RSL的flex程序時,會下載所需的swz文件,然后保存在flash player自己的緩存目錄里(win7下為X:\Users\用戶名\AppData\Roaming\Adobe\Flash Player\AssetCache\隨機目錄名),清除瀏覽器的緩存並不會影響flash player的緩存。再次訪問時會先檢查並使用緩存中的swz文件,所以在已有swz緩存的電腦上不會出現這個問題。

參考文章:IIS如何增加處理不同的文件擴展名(MIME類型)?     http://www.cnblogs.com/stragon/archive/2011/07/22/2113724.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM