getURL 函数

getURL(url:String, [window:String, [method:String]]) : Void

将来自特定 URL 的文档加载到窗口中,或将变量传递到位于所定义 URL 的另一个应用程序。若要测试此函数,请确保要加载的文件位于指定的位置。若要使用绝对 URL(例如,http://www.myserver.com),则需要网络连接。

安全注释:对于 Flash Player 8 及更高版本,只有在 SWF 文件和包含该文件的 Web 页(如果有)位于受信任的本地安全沙箱中时,才允许浏览器中运行的本地内容调用指定 "javascript:" 伪协议的 getURL() 函数(例如 getURL("javascript:someFunction()"))。

安全注释:在 Flash Player 9 及更高版本中,当运行于只能与本地文件系统的内容交互的沙箱中的 SWF 文件中的代码调用 getURL() 函数并为 window 参数指定自定义窗口名称时,该窗口名称会转换为一个随机名称。该名称的格式为 "_flashXXXXXXXX",其中每个 X 均代表一个随机的十六进制数字。在同一会话中(直到您关闭包含浏览器窗口),如果您再次调用该函数并为 window 参数指定同一名称,则会使用同一个随机字符串。

可用性:ActionScript 1.0、Flash Player 2 ― GETPOST 选项只有在 Flash Player 4 及更高版本中才可用。

参数

url:String ― 可从该处获取文档的 URL。

window:String [可选] ― 指定应将文档加载到其中的窗口或 HTML 帧。您可输入特定窗口的名称,或从下面的保留目标名称中选择:

method:String [可选] ― 用于发送变量的 GETPOST 方法。如果没有变量,则省略此参数。GET 方法将变量附加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送长字符串的变量。

示例

此示例将图像加载到影片剪辑中。当单击该图像时,会在一个新的浏览器窗口中加载新的 URL。

var listenerObject:Object = new Object();
listenerObject.onLoadInit = function(target_mc:MovieClip) {
 target_mc.onRelease = function() {
 getURL("http://www.adobe.com/software/flash/flashpro/", "_blank");
 };
};
var logo:MovieClipLoader = new MovieClipLoader();
logo.addListener(listenerObject);
logo.loadClip("http://www.helpexamples.com/flash/images/image1.jpg",
 this.createEmptyMovieClip("adobe_mc", this.getNextHighestDepth()));

在下面的示例中,使用 getURL() 来发送电子邮件:

myBtn_btn.onRelease = function(){
 getURL("mailto:you@somedomain.com");
};

在下面的 ActionScript 中,将使用 JavaScript 在 SWF 文件嵌入到浏览器窗口中时打开警告窗口(请注意,当使用 getURL() 调用 JavaScript 时,url 参数最多只能包含 508 个字符):

myBtn_btn.onRelease = function(){
 getURL("javascript:alert('you clicked me')");
};

您也可以使用 GETPOST 发送变量。下面的示例使用 GET 将变量追加到 URL:

var firstName:String = "Gus";
var lastName:String = "Richardson";
var age:Number = 92;
myBtn_btn.onRelease = function() {
 getURL("http://www.adobe.com", "_blank", "GET");
};

下面的 ActionScript 使用 POST 在 HTTP 标头中发送变量。一定要在浏览器窗口中测试文档,因为变量可能是使用 GET 发送的:

var firstName:String = "Gus";
var lastName:String = "Richardson";
var age:Number = 92;
getURL("http://www.adobe.com", "_blank", "POST");

请参阅

loadVariables 函数, send(XML.send 方法), sendAndLoad(XML.sendAndLoad 方法)