Pregunta

Noté algo peculiar sobre la palabra clave "con" en JavaScript y la relación de la ventana matriz e infantil, específicamente Window.apener. No he probado esto desde la ventana principal, solo el niño, pero vale la pena señalar en el ejemplo a continuación:

Ventana principal (parent.html):

// global scope
function ParentFunc() { alert("I am a parent function"); }

Ventana infantil (child.html):

// global scope
var baseWin = window.opener;

// "this" keyword corresponds to Child.html when function below is called
function Child_Onclick_Func()
{
  alert("Hi, from Child");
  with (baseWin)
  {
    ParentFunc();
    alert("Hi, from Parent");
  }
  alert("Hi, back to Child");
}

La palabra clave "con", en este caso, cambia a la ventana principal y la segunda alerta también dispara un infocus implícito a la ventana principal. No me di cuenta de "con" cambiaría a la ventana principal, pero ahora tiene sentido.

¿Fue útil?

Solución

Esto sucede porque window es el espacio de nombres global cuando se ejecuta JavaScript en un navegador web. Cuando escribes:

alert('Hello, World!');

En realidad estás llamando al window.alert método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top