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 到 SWF 通信 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()当 allowNetworking 设置为 "none" 时,除了以上 API 外,下列 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_cn/main/00001079.html