domain (LocalConnection.domain method)

public domain() : String

Returns a string representing the domain of the location of the current SWF file.

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.adobe.com, this command returns "adobe.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.adobe.com, this command returns "www.adobe.com".

If the current SWF file is a local file residing on the client computer, this command returns "localhost".

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 adobe.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=="adobe.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.adobe.com will be accepted, but those from one posted at
// a different subdomain, e.g. blogs.adobe.com, will not.
var my_lc:LocalConnection = new LocalConnection();
my_lc.allowDomain = function(sendingDomain):String{
    return (sendingDomain==this.domain() || sendingDomain=="www.adobe.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.

Line numbers are included for reference purposes. The sequence of events is described in the following list:

        // 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
    61 if (domainArray.length > 2)
    62 {
    63 domainArray.shift();
    64 channelDomain = domainArray.join(".");
    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)