Flash CS3 文件 |
|||
| 學習 Adobe Flash 中的 ActionScript 2.0 > 瞭解安全性 > 限制網路 API | |||
您可以在包含此 SWF 內容的 HTML 頁面中,設定其中 <object> 和 <embed> 標籤內的 allowNetworking 參數,控制 SWF 檔對網路功能的存取權。
allowNetworking 的可能值如下:
"all" (預設值) -- 此 SWF 允許所有的網路 API。"internal" -- 此 SWF 檔可能不會呼叫如下所示的瀏覽器瀏覽或瀏覽器互動 API,但是它可能會呼叫任何其它的網路 API。"none" -- 此 SWF 檔可能不會呼叫如下所示的任何網路 API。同樣地,它無法使用任何 SWF-to-SWF 通訊 API,這些 API 也包括在下面清單中。若要在包含此 SWF 內容的 HTML 頁面中,設定其中 <object> 和 <embed> 標籤的 allowNetworking 參數,請加入 allowNetworking 參數,然後設定其值,如下面範例所示:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" width="600" height="400" id="test" align="middle"><param name="allowNetworking" value="none" /><param name="movie" value="test.swf" /> <param name="bgcolor" value="#333333" /> <embed src="test.swf"allowNetworking="none"bgcolor="#333333" width="600" height="400" name="test" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" /> </object>
當 allowNetworking 設定成 "internal" 時,下列 API 將會停用:
getURLMovieClip.getURLfscommand()ExternalInterface.call()除了前述的 API,當 allowNetworking 設定為 "none" 時,也會停用下列 API:
XML.loadXML.sendXML.sendAndLoadLoadVars.load()LoadVars.sendLoadVars.sendAndLoadloadVariablesloadVariablesNumMovieClip.loadVariablesNetConnection.connectNetStream.playloadMovieloadMovieNumMovieClip.loadMovieMovieClipLoader.loadClipSound.loadSoundLocalConnection.connectLocalConnection.sendSharedObject.getLocalSharedObject.getRemoteFileReference.uploadFileReference.downloadSystem.security.loadPolicyFileXMLSocket.connect即使選定的 allowNetworking 設定允許 SWF 檔使用網路 API,如同本章相關內容所述,此時仍有可能因安全執行程序限制而存在其它限制。
當 allowNetworking 設為 "none" 時,TextField 之 htmlText 屬性中的 <img> 標籤不會顯示網路內容。當 allowNetworking 設為 "none" 時,會避免在執行階段將元件從匯入的共享元件庫加入到 Flash 編寫工具中 (不是 ActionScript)。
Flash CS3
目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00001079.html