|
限制网络 API:
适用端口阻止的 ActionScript 3.0 API:
FileReference.download()、FileReference.upload()、Loader.load()、Loader.loadBytes()、navigateToURL()、
NetConnection.call()、NetConnection.connect()、NetStream.play()、Security.loadPolicyFile()、sendToURL()、Sound.load()、URLLoader.load()、URLStream.load()
使用 allowNetworking 参数:
您可以通过在包含 SWF 内容的 HTML 页中的 <object> 和 <embed> 标签中设置 allowNetworking 参数来控制 SWF 文件访问网络的功能。
allowNetworking 参数主要在 SWF 文件及所在的 HTML 页来自不同的域时使用。
- "all" (默认值) — 在 SWF 中允许所有的网络 API。
- "internal"— SWF 文件可能不调用浏览器导航或浏览器交互 API ,但是它会调用任何其它网络API。
- "none"— SWF 文件可能不调用浏览器导航或浏览器交互 API ,并且它无法使用任何 SWF 到SWF 通信 API 。
<object classic="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"Code base="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,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.macromedia.com/go/getflashplayer" /></object>
或者修改Flex Builder生成的HTML,加入以下参数:
AC_FL_RunContent( ... "allowNetworking", "none", ...) 全屏模式安全性:
要启用全屏模式,请在包含 SWF 文件引用的 HTML 页的 <object> 和 <embed> 标签中添加 allowFullScreen 参数,并将参数值设置为 "true" (默认值为 "false"),如下例所示:
<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="allowFullScreen" value="true" /><param name="movie" value="test.swf" /><param name="bgcolor" value="#333333" /><embed src="test.swf" allowFullScreen="true" bgcolor="#333333"width="600" height="400"name="test" align="middle" type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer" /></object> 或者修改Flex Builder生成的HTML,加入以下参数:
AC_FL_RunContent( ... "allowFullScreen", "true", ...) 设置LocalConnection权限:
同一域中没问题。
对于不同沙箱的SWF文件,需要设置:
LocalConnection.allowDomain() 控制外出 URL 访问:
- flash.system.fscommand() 函数
- ExternalInterface.call() 方法
- flash.net.navigateToURL() 函数
HTML 代码中用于加载 SWF 文件的 AllowScriptAccess 参数控制能否从 SWF 文件内执行外出 URL 访问。
如果不设置 AllowScriptAccess 的值,则仅当 SWF 文件与 HTML 页来自同一个域时才能通信。
AllowScriptAccess 参数可以有 "always"、"sameDomain" 和 "never" 这三个可能值中的一个:
- 当 AllowScriptAccess 为 "always" 时, SWF 文件可以与其嵌入到的 HTML 页进行通信,即使该 SWF 文件来自不同于HTML 页的域也可以。
- 当 AllowScriptAccess 为 "sameDomain" 时,仅当 SWF 文件与其嵌入到的 HTML 页来自相同的域时,该 SWF 文件才能与该 HTML 页进行通信。此值是 AllowScriptAccess 的默认值。
- 当 AllowScriptAccess 为 "never" 时,SWF 文件将无法与任何 HTML 页进行通信。
<object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'codebase='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%'width='100%'><param name='AllowScriptAccess' value='always'/><param name='src' value=''MyMovie.swf'/><embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer' src='MyMovie.swf'height='100%' width='100%' AllowScriptAccess='never'/></object> |
|