限制网络 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 页来自不同的域时使用。
<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 访问:
HTML 代码中用于加载 SWF 文件的 AllowScriptAccess 参数控制能否从 SWF 文件内执行外出 URL 访问 。
如果不设置 AllowScriptAccess 的值,则仅当 SWF 文件与 HTML 页来自同一个域 时才能通信 。
AllowScriptAccess 参数可以有 "always "、"sameDomain " 和 "never " 这三个可能值中的一个:
<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>