LocalConnection.allowDomain

Disponibilidad

Flash Player 6; comportamiento modificado en Flash Player 7.

Sintaxis

receiving_lc.allowDomain = function([sendingDomain]) {
  // Estas sentencias devuelven true o false
}

Parámetros

sendingDomain Parámetro opcional que especifica el dominio del archivo SWF que contiene el objeto LocalConnection emisor.

Valor devuelto

Ninguno.

Descripción

Controlador de eventos; se invoca cuando receiving_lc recibe una solicitud para invocar un método de un objeto LocalConnection emisor. Flash espera que el código que se implementa en este controlador devuelva el valor booleano true o false. Si el controlador no devuelve true, la solicitud del objeto emisor se pasa por alto y el método no se invoca.

Utilice este comando para permitir de forma explícita que los objetos LocalConnection de los dominios especificados o de cualquier dominio, ejecuten métodos del objeto LocalConnection receptor. Si no declara el parámetro sendingDomain, probablemente deberá aceptar comandos de cualquier dominio, y el código del controlador será simplemente return true. Si declara el parámetro sendingDomain, deberá comparar el valor del sendingDomain con los dominios desde los que desee aceptar comandos. En los ejemplos siguientes se muestran ambas implementaciones.

En los archivos que se ejecuten en Flash Player 6, el parámetro sendingDomain contiene el superdominio del que llama. En los archivos que se ejecuten en Flash Player 7 o posterior, el parámetro sendingDomain contiene el dominio exacto del que llama. En este último caso, para permitir el acceso a archivos SWF albergados en www.domain.com o store.domain.com, debe explícitamente permitir el acceso desde esos dos dominios.

// Para Flash Player 6
receiving_lc.allowDomain = function(sendingDomain) {
  return(sendingDomain=="domain.com");
}
// Comandos correspondientes para permitir el acceso de los archivos SWF 
// que se están ejecutando en Flash Player 7 o posterior
receiving_lc.allowDomain = function(sendingDomain) {
  return(sendingDomain=="www.domain.com" ||
    sendingDomain=="store.domain.com");
}

Asimismo, para los archivos que se ejecuten en Flash Player 7 o posterior, no puede utilizar este método para hacer que los archivos SWF albergados mediante un protocolo seguro (HTTPS) puedan permitir el acceso desde archivos SWF albergados en protocolos que no son seguros; en tal caso, debe utilizar el controlador de eventos LocalConnection.allowInsecureDomain().

Ejemplo

En el ejemplo siguiente se muestra cómo un objeto LocalConnection de un archivo SWF receptor puede permitir que archivos SWF de otro dominio invoquen sus métodos. Compare este ejemplo con el de LocalConnection.connect(), en el que sólo los archivos SWF del mismo dominio pueden invocar el método Trace en el archivo SWF receptor. Para más información sobre el uso del carácter de subrayado (_) en el nombre de la conexión, consulte LocalConnection.send().

var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
  aTextField = aTextField + aString + newline;
}

aLocalConnection.allowDomain = function() {
  // Cualquier dominio puede invocar métodos de este objeto LocalConnection
  return true;
}

aLocalConnection.connect("_trace");

En el ejemplo siguiente, el archivo SWF receptor acepta comandos únicamente de los archivos SWF que se encuentran en thisDomain.com o thatDomain.com.

var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
  aTextField = aTextField + aString + newline;
}

aLocalConnection.allowDomain = function(sendingDomain)
{  
  return(sendingDomain=="thisDomain.com" || sendingDomain"thatDomain.com");
}

aLocalConnection.connect("_trace");

Véase también

LocalConnection.connect(), LocalConnection.domain(), LocalConnection.send()