2011-04-21 38 views
0

我需要以某種方式將Flash網站合併到一個可執行文件中。將Flash網站合併到一個可執行文件中

網站包括: 的index.html 圖像0​​聲音 PDF文件 等

點擊合併文件後,需要的index.html打開。

這可能嗎?

=====================================

Adob​​e AIR的可能是有用的爲此,但我只能創建安裝程序可執行文件,也許有可能創建只是可執行文件?

回答

1

在OS X上,您可以將它編譯到一個.app文件中,該文件是一個特殊的文件夾,類似於單個可執行文件。我想這在每個平臺上都會有所不同,也許最好的解決方案是尋找一些跨平臺的框架,它也可以捆綁基於WebKit的瀏覽器視圖,因此您不必處理不同的瀏覽器以及它們如何訪問外部每個平臺上的文件。

寫完這些之後,AIR可能會捆綁文件,並且它有一個可以顯示HTML內容的StageWebView控件(不確定是否顯示Flash內部)。

2

您可以將任意數量的文件打包到AIR應用程序中(儘管出口時間可能會大幅增加)。您無法創建'just'可執行文件,因爲需要安裝AIR應用程序,HTMLLoader無論如何都需要單獨的頁面和圖片文件。基本上,所有你需要做的是:

  • 創建AIR與MX:HTML爲主要內容的
  • 點的mx:HTML到應用程序:/index.html
  • 確保你的網站文件嵌入集體進入安裝程序(將它們放到src目錄中)

對於要在瀏覽器中工作的pdf文件,用戶需要安裝Acrobat。 Flash內容應該在mx:HTML內工作。 更新:
隱藏用戶的所有文件都比較困難。我做了類似的事情,不是整個網站,而是嵌入式頁面和鏈接的應用程序。
您的所有內容都可以打包到一些zip文件中(不在exe中,即使本機AIR應用程序也無法自定義它的exe包裝器)。如果您願意,甚至可以對每個文件進行加密。問題是鏈接和文件(圖片,樣式和腳本)
我解決了數據URI方案的圖片問題(請參閱我的question - 自我回答 - 關於此問題)。我認爲其他文件也可以用這種方式嵌入。
要使鏈接正常工作,您需要監聽Event.LOCATION_CHANGE。新的位置會告訴HTML控制想要去(它將無法找到頁面),解壓縮相應的頁面並將其設置爲htmlText。 所以,如果你真的想嵌入的一切,這就是我會做:

  • 包所有文件到一個zip文件,使用某些庫與非連續拉鍊訪問後解壓(我用coltware的airxzip)
  • 製作頁面服務系統。這包括解壓縮頁面,掃描已用文件(css,js,圖片),解壓縮文件,將其轉換爲base64以及使用data:URI模式嵌入到頁面中。如果您的文件不是(或很少)在頁面之間共享,則可以在包裝和使用之前嵌入它們。我不知道Webkit是否通過這個協議支持JavaScript,即使沒有,你也可以把它轉換成基於文本的腳本。
+0

安裝.air後,我有我的所有文件就像之前打包,但我需要以某種方式隱藏所有我的文件從用戶(當然除了可執行文件)。 – ieaglle 2011-04-21 14:08:41

相關問題