2011-10-11 54 views
1

我有一個大問題。我已經在這個網站上搜索了答案,但是現在沒有發現對我有用的東西。本地使用ExternalInterface的方法?

問題是這樣的:我有一個嵌入在HTML中的SWF。我必須通過ExternalInteface從swf頁面中調用js函數。好。但它必須在本地工作,對於任何用戶而言,無需任何工作。這是因爲這個東西必須分佈在CDROM中。

有沒有辦法避免在本地運行ExternalInterface而不要求用戶配置可信文件夾或類似的東西?

謝謝

+1

爲什麼不做空氣應用程序? –

回答

0

閱讀關於啓用controlling access to scripts

+0

我已經閱讀過。有這樣的: --- 對於本地運行的SWF文件,只有當SWF文件和包含網頁(如果有的話)位於本地信任的安全沙箱中,才能成功調用這些API。如果內容位於本地網絡或本地文件系統沙箱中,則調用這些方法失敗。 ---- 但實際上,我正在尋找某種黑客.. – Stratboy

+0

@Stratboy因此,似乎沒辦法,但檢查'ExternalInterface.available',如果爲false - 導航到Flash播放器設置面板 –

1

我認爲這種安全措施沒有可靠的解決方法。您可以在CD上發佈一個或多個輕型Web服務器(每個支持的操作系統一個),以及啓動它們的方式(批處理文件或等效項)+打開瀏覽器到服務器(例如,在某個模糊的端口使用127.0.0.1)。

0

難道你不能只是在CD上包含一個網頁,讓他們打開,而不是SWF?

1

Johnatan Hedborg是正確的。您無法從閃存中繞過此安全功能。但是,您可以使用諸如MDM鋅之類的產品來創建具有更多功能的可執行文件,或將該項目創建爲Adobe Air項目。這兩項都授予用戶擴展的本地權限,其中包括在用戶計算機上啓動可執行內容的功能。 這裏有一些程序,可以幫助您解決問題,通過包裝定製的投影機,它不需要安裝運行:

鏈接鋅 http://www.multidmedia.com/software/zinc/

鏈接MProjector http://www.screentime.com/software/flash-projector

鏈接到SwfStudio http://www.northcode.com/

相關問題