全屏模式安全性

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

Flash Player 9.0.27.0 和更高版本支持全屏模式,在该模式中,Flash Player 中运行的内容可以填满整个屏幕。要进入全屏模式,需将 Stage 的 displayState 属性设置为 StageDisplayState.FULL_SCREEN 常量。有关详细信息,请参阅 使用全屏模式

对于在远程沙箱中运行的 SWF 文件,存在一些安全注意事项。

要启用全屏模式,请在包含 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>

HTML 页也可以使用脚本生成 SWF 嵌入标签。您必须更改该脚本,以便让它能够插入适当的 allowFullScreen 设置。Flash Professional 和 Flash Builder 生成的 HTML 页面使用 AC_FL_RunContent() 函数嵌入对 SWF 文件的引用,您需要添加 allowFullScreen 参数设置,如下所示:

AC_FL_RunContent( ... "allowFullScreen", "true", ...)

仅当在响应鼠标事件或键盘事件时才会调用启动全屏模式的 ActionScript。如果在其他情况中调用,Flash Player 会引发异常。

当内容进入全屏模式时,程序会显示一条消息,指导用户如何退出和返回标准模式。该消息将显示几秒钟,然后淡出。

对于在浏览器中运行的内容,在全屏模式下将限制使用键盘。在 Flash Player 9 中,只支持使应用程序返回正常模式(如通过按 Escape 键)的快捷键。用户不能在文本字段中输入文本,也不能在屏幕上导航。在 Flash Player 10 和更高版本中,支持某些非打印键(具体来说是方向键、空格键和 Tab 键)。但仍禁止文本输入。

在独立的播放器或放映文件中始终允许全屏模式。此外,这些环境中还完全支持使用键盘(包括文本输入)。

调用 Stage 对象的 displayState 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。 有关详细信息,请参阅 Stage 安全性

管理员可以通过在 mms.cfg 文件中设置 FullScreenDisable = 1 对浏览器中运行的 SWF 文件禁用全屏模式。有关详细信息,请参阅 管理员控制

在浏览器中,必须在 HTML 页面中包含 SWF 文件,才能进入全屏模式。