fscommand()

可用性

Flash Player 3。

用法

fscommand("command", "parameters")

参数

command 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给 Flash Player 的命令。

parameters 一个传递给宿主应用程序用于任何用途的字符串;或者一个传递给 Flash Player 的值。

返回

无。

说明

函数;使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。还可使用 fscommand 动作将消息传递给 Macromedia Director,或者传递给 Visual Basic、Visual C++ 和其它可承载 ActiveX 控件的程序。

用法 1:若要将消息发送给 Flash Player,必须使用预定义的命令和参数。下表显示可为 fscommand 动作的 commandparameters 参数指定的值,这些值用于控制在 Flash player(包括播放器)中播放的 SWF 文件:

命令

参数

目的

quit

关闭播放器。

fullscreen

truefalse

指定 true 将 Flash Player 设置为全屏模式。如果指定 false,播放器会返回到常规菜单视图。

allowscale

truefalse

如果指定 false,则设置播放器以始终按 SWF 文件的原始大小绘制 SWF 文件,从不进行缩放。如果指定 true,则强制 SWF 文件缩放到播放器的 100%。

showmenu

truefalse

如果指定 true,则启用整个上下文菜单项集合。如果指定 false,则使得除“关于 Flash Player”外的所有上下文菜单项变暗。

exec

应用程序的路径

在播放器内执行应用程序。 

trapallkeys

truefalse

如果指定 true,则将所有按键事件(包括快捷键事件)发送到 Flash Player 中的 onClipEvent(keyDown/keyUp) 处理函数。

exec 命令只能包含字符 A 至 Z、a 至 z、0 至 9、句点 (). 和下划线 (_)。exec 仅在子目录 fscommand 中运行。也就是说,如果您使用 fscommand exec 命令调用应用程序,该应用程序必须位于名为 fscommand 的子目录中。

用法 2:若要在 Web 浏览器中使用 fscommand 动作将消息发送到脚本撰写语言(如
JavaScript),可以在 commandparameters 参数中传递任意两个参数。这些参数可以是字符串或表达式,它们在“捕获”或处理 fscommand 动作的 JavaScript 函数中使用。

在 Web 浏览器中,fscommand 动作在包含 SWF 文件的 HTML 页中调用 JavaScript 函数 moviename_DoFScommandmoviename 是 Flash Player 影片的名称,该名称由 EMBED 标签的 NAME 属性指定,或者由 OBJECT 标签的 ID 属性指定。如果您为 Flash Player 影片指定名称 myDocument,所调用的 JavaScript 函数就是 myDocument_DoFScommand

用法 3:fscommand 动作可以将消息发送给 Macromedia Director,Lingo 将消息解释为字符串、事件或可执行的 Lingo 代码。如果该消息为字符串或事件,则必须编写 Lingo 代码以便从 fscommand 动作接收该消息,并在 Director 中执行动作。有关更多信息,请参见 Director 支持中心,网址为 www.macromedia.com/support/director

用法 4:在 Visual Basic、Visual C++ 和可承载 ActiveX 控件的其它程序中,fscommand 利用可在环境的编程语言中处理的两个字符串发送 VB 事件。有关更多信息,请使用 Flash
method(Flash 方法)关键字搜索 Flash 支持中心,网址为
www.macromedia.com/
go/flash_support_cn。

示例

用法 1:在下面的示例中,fscommand 动作设置 Flash Player,以便在释放按钮时,将 SWF 文件放大到整个显示器屏幕大小。

on (release) {
  fscommand("fullscreen", true);
}

用法 2:下面的示例使用应用到 Flash 中按钮的 fscommand 动作打开 HTML 页中的 JavaScript 消息框。消息本身作为 fscommand 参数发送到 JavaScript。

必须将一个函数添加到包含 SWF 文件的 HTML 页。此函数 (myDocument_DoFSCommand) 位于 HTML 页中,等待 Flash 中的 fscommand 动作。当在 Flash 中触发 fscommand 后(例如,当用户按下按钮时),commandparameter 字符串被传递到 myDocument_DoFSCommand 函数。可以在 JavaScript 或 VBScript 代码中以任何需要的方式使用所传递的字符串。在此示例中,该函数包含一个条件 if 语句,该语句检查命令字符串是否为 "messagebox"。如果是,则
JavaScript 警告框(或“消息框”)打开并显示 parameters 字符串的内容。

function myDocument_DoFSCommand(command, args) {
  if (command == "messagebox") {
    alert(args);
  }
}

在 Flash 文档中,将 fscommand 动作添加到按钮:

fscommand("messagebox", "This is a message box called from within Flash.")

也可以为 fscommand 动作和参数使用表达式,如下面的示例所示:

fscommand("messagebox", "Hello, " + name + ", welcome to our website!")

若要测试影片,请选择“文件”>“发布预览”>“HTML”。

注意:如果在 HTML“发布设置”中使用具有 FSCommand 模板的 Flash 发布 SWF 文件,则将自动插入 myDocument_DoFSCommand 函数。该 SWF 文件的 NAMEID 属性将是文件名。例如,对于文件
myDocument.fla,这些属性将设置为 myDocument