1,AllowScriptAccess
参数:
sameDomain:仅当SWF 文件和网页位于同一域中时才允许执行外出脚本访问。这是 AVM2 内容的默认值。
never:外出脚本访问将始终失败。
always:外出脚本访问将始终成功。
AllowScriptAccess 参数可以防止从一个域中承载的 SWF文件访问来自另一个域的 HTML页面中的脚本。
对从另一个域承载的所有 SWF 文件使用可以确保位于 HTML页面中的脚本的安全性。
getURL函数:
当allowScriptAccess为always或samedomain时,利用一个最简单的AS3 getURL 代码如下:http://sa3.org/file/code/geturl.as,编译出来的swf文件即可跳转到http://sa3.org Demo如下:http://sa3.org/file/swf/301.swf,只要确保发布后的flashallowScriptAccess参数为never即可成功防止页面跳转。
例:
package
{
//author ben<http://sa3.org>
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.navigateToURL;
public class geturl extends Sprite
{
public function geturl()
{
navigateToURL(new URLRequest("http://sa3.org"),"");
}
}
}
2,allowNetworking
参数:
"all"(默认值)―SWF 文件中允许使用所有网络API。
"internal"―SWF 文件可能不调用浏览器导航或浏览器交互API,但是它会调用任何其它网络API。
"none"―SWF 文件可能不调用浏览器导航或浏览器交互API,并且它无法使用任何SWF 到 SWF 通信 API。
可以控制 SWF文件对网络功能的访问。调用被禁止的 API会引发 SecurityError异常。
当 allowNetworking 设置为"internal" 时,以下API 被禁止:
navigateToURL()
fscommand()
ExternalInterface.call()
当 allowNetworking 设置为"none" 时,除了上面列出的那些API 外,还会禁止以下 API:
sendToURL()
FileReference.download()
FileReference.upload()
Loader.load()
LocalConnection.connect()
LocalConnection.send()
NetConnection.connect()
NetStream.play()
Security.loadPolicyFile()
SharedObject.getLocal()
SharedObject.getRemote()
Socket.connect()
3,allowFullScreen
参数:
启用全屏模式设置为"true",否则设置为"false"(默认值)
仅当在响应鼠标事件或键盘事件时才会调用启动全屏模式的 ActionScript。如果在其它情况中调用,Flash Player 会引发异常。
在全屏模式下,用户无法在文本输入字段中输入文本。所有键盘输入和键盘相关的 ActionScript 在全屏模式下均会被禁用,但将应用程序返回标准模式的键盘快捷键(例如按Esc)除外。
当内容进入全屏模式时,程序会显示一条消息,指导用户如何退出和返回标准模式。该消息将显示几秒钟,然后淡出。
如果某个调用方与 Stage 所有者(主SWF 文件)没有位于同一安全沙箱,则调用Stage 对象的 displayState 属性会引发异常。
管理员可以通过在 mms.cfg 文件中设置FullScreenDisable = 1 对浏览器中运行的 SWF文件禁用全屏模式。
在浏览器中,必须在 HTML 页面中包含SWF文件,才能进入全屏模式。
在独立的播放器或放映文件中始终允许全屏模式。
实例代码:
<objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0"width="100%" height="100%">
<param name="movie"value="falsh.swf" />
<param name="quality"value="high" />
<param name="AllowScriptAccess"value="sameDomain" />
<param name="allowNetworking"value="all" />
<param name="allowFullScreen"value="true" />
<embed src="falsh.swf"width="100%" height="100%" quality="high"pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"type="application/x-shockwave-flash" allownetworking="all"allowfullscreen="true"></embed>
</object>