Detailed instructions for use are in the User's Guide.
[. . . ] ActionScript 2. 0 Language Reference
Trademarks 1 Step RoboPDF, ActiveEdit, ActiveTest, Authorware, Blue Sky Software, Blue Sky, Breeze, Breezo, Captivate, Central, ColdFusion, Contribute, Database Explorer, Director, Dreamweaver, Fireworks, Flash, FlashCast, FlashHelp, Flash Lite, FlashPaper, Flash Video Encoder, Flex, Flex Builder, Fontographer, FreeHand, Generator, HomeSite, JRun, MacRecorder, Macromedia, MXML, RoboEngine, RoboHelp, RoboInfo, RoboPDF, Roundtrip, Roundtrip HTML, Shockwave, SoundEdit, Studio MX, UltraDev, and WebHelp are either registered trademarks or trademarks of Macromedia, Inc. and may be registered in the United States or in other jurisdictions including internationally. Other product names, logos, designs, titles, words, or phrases mentioned within this publication may be trademarks, service marks, or trade names of Macromedia, Inc. or other entities and may be registered in certain jurisdictions including internationally. [. . . ] In SWF files published for Flash Player 6, the returned string is the superdomain of the current SWF file. For example, if the SWF file is located at www. macromedia. com, this command returns "macromedia. com". In SWF files published for Flash Player 7 or later, the returned string is the exact domain of the current SWF file. For example, if the SWF file is located at www. macromedia. com, this command returns "www. macromedia. com". If the current SWF file is a local file residing on the client computer, this command returns
"localhost".
722
ActionScript classes
The most common way to use this command is to include the domain name of the sending LocalConnection object as a parameter to the method you plan to invoke in the receiving LocalConnection object or with LocalConnection. allowDomain to accept commands from a specified domain. If you are enabling communication only between LocalConnection objects that are located in the same domain, you probably don't need to use this command. Availability: ActionScript 1. 0; Flash Player 6 - Behavior changed in Flash Player 7. Returns
String
- A string representing the domain of the location of the current SWF file; for more information, see the Description section. Example In the following example, a receiving SWF file accepts commands only from SWF files located in the same domain or at macromedia. com:
// If both the sending and receiving SWF files are Flash Player 6, // then use the superdomain var my_lc:LocalConnection = new LocalConnection(); my_lc. allowDomain = function(sendingDomain):String{ return (sendingDomain==this. domain() || sendingDomain=="macromedia. com"); } // If either the sending or receiving SWF file is Flash Player 7 or later, // then use the exact domain. In this case, commands from a SWF file posted // at www. macromedia. com will be accepted, but those from one posted at // a different subdomain, e. g. var my_lc:LocalConnection = new LocalConnection(); my_lc. allowDomain = function(sendingDomain):String{ return (sendingDomain==this. domain() || sendingDomain=="www. macromedia. com"); }
In the following example, a sending SWF file located at www. yourdomain. com invokes a method in a receiving SWF file located at www. mydomain. com. The sending SWF file includes its domain name as a parameter to the method it invokes, so the receiving SWF file can return a reply value to a LocalConnection object in the correct domain. The sending SWF file also specifies that it will accept commands only from SWF files at mydomain. com.
LocalConnection
723
Line numbers are included for reference purposes. The sequence of events is described in the following list:
The receiving SWF file prepares to receive commands on a connection named "sum" (line 11). The Flash Player resolves the name of this connection to "mydomain. com:sum" (see
LocalConnection. connect()).
The sending SWF file prepares to receive a reply on the LocalConnection object named "result" (line 67). It also specifies that it will accept commands only from SWF files at mydomain. com (lines 51 to 53). The sending SWF file invokes the aSum method of a connection named "mydomain. com:sum" (line 68) and passes the following parameters: its superdomain, the name of the connection to receive the reply ("result"), and the values to be used by aSum (123 and 456). The aSum method (line 6) is invoked with the following values: sender = "mydomain. com:result", replyMethod = "aResult", n1 = 123, and n2 = 456. It then executes the following line of code:
this. send("mydomain. com:result", "aResult", (123 + 456));
The aResult method (line 54) shows the value returned by aSum (579).
// The receiving SWF at http://www. mydomain. com/folder/movie. swf // contains the following code 1 var aLocalConnection:LocalConnection = new LocalConnection(); 2 aLocalConnection. allowDomain = function() 3{ // Allow connections from any domain 4 return true; 5} 6 aLocalConnection. aSum = function(sender, replyMethod, n1, n2) 7{ 8 this. send(sender, replyMethod, (n1 + n2)); 9} 10 11 aLocalConnection. connect("sum"); // The sending SWF at http://www. yourdomain. com/folder/movie. swf // contains the following code 50 var lc:LocalConnection = new LocalConnection(); 51 lc. allowDomain = function(aDomain) { // Allow connections only from mydomain. com 52 return (aDomain == "mydomain. com"); 53 } 54 lc. aResult = function(aParam) { 55 trace("The sum is " + aParam); 56 }
724
ActionScript classes
// determine our domain and see if we need to truncate it 57 var channelDomain:String = lc. domain(); 58 if (getVersion() >= 7 && this. getSWFVersion() >= 7) 59 { // split domain name into elements 60 var domainArray:Array = channelDomain. split(". "); // if more than two elements are found, // chop off first element to create superdomain if (domainArray. length > 2) { domainArray. shift(); channelDomain = domainArray. join(". "); } }
61 62 63 64 65 66
67 lc. connect("result"); 68 lc. send("mydomain. com:sum", "aSum", channelDomain + ':' + "result", "aResult", 123, 456);
See also
allowDomain (LocalConnection. allowDomain handler), connect (LocalConnection. connect method)
LocalConnection constructor
public LocalConnection()
Creates a LocalConnection object. Availability: ActionScript 1. 0; Flash Player 6 Example The following example shows how receiving and sending SWF files create LocalConnnection objects. The two SWF files can use the same name or different names for their respective LocalConnection objects. In this example they use different names.
// Code in the receiving SWF file this. createTextField("result_txt", 1, 10, 10, 100, 22); result_txt. border = true; var receiving_lc:LocalConnection = new LocalConnection(); receiving_lc. methodToExecute = function(param1:Number, param2:Number) { result_txt. text = param1+param2; }; receiving_lc. connect("lc_name");
The following SWF file sends the request to the first SWF file.
LocalConnection
725
// Code in the sending SWF file var sending_lc:LocalConnection = new LocalConnection(); sending_lc. send("lc_name", "methodToExecute", 5, 7);
See also
connect (LocalConnection. connect method), send (LocalConnection. send method)
onStatus (LocalConnection. onStatus handler)
onStatus = function(infoObject:Object) {}
Invoked after a sending LocalConnection object tries to send a command to a receiving LocalConnection object. [. . . ] This function was deprecated in favor of Math. round().
1353
Modifiers
Function Name
Description
length(expression:Str Deprecated since Flash Player 5. This function, ing, variable:Object) along with all the string functions, has been deprecated. Macromedia recommends that you use the methods of the String class and the String. length property to perform the same operations. This function was er) deprecated in favor of the String. fromCharCode() method. [. . . ]