¿Existe alguna manera fácil de establecer una función de "devolución de llamada" en una nueva ventana que se abre en javascript? Me gustaría ejecutar una función del elemento principal desde la nueva ventana, pero quiero que el padre pueda establecer el nombre de esta función en particular (por lo que no debe estar codificada en la nueva página de Windows).Establecer una función de devolución de llamada a una nueva ventana en javascript
Por ejemplo, en los padres que tienen:
function DoSomething { alert('Something'); }
...
<input type="button" onClick="OpenNewWindow(linktonewwindow,DoSomething);" />
Y en la ventana secundaria que quieren:
<input type="button" onClick="RunCallbackFunction();" />
La pregunta es cómo crear esta OpenNewWindow
y RunCallbackFunction
funciones. Pensé en enviar el nombre de la función como un parámetro de consulta a la nueva ventana (donde el script del lado del servidor genera las llamadas de función apropiadas en el HTML del hijo generado), que funciona, pero estaba pensando si hay otra o mejor manera de lograrlo esto, tal vez algo que ni siquiera requiere retoques en el lado del servidor.
Pure javascript, soluciones del lado del servidor y jQuery (u otros marcos) son bienvenidos.
No deseo marcar el nombre de la función en la ventana secundaria. Ese era un requisito. La ventana principal puede tener varios lugares donde abre la misma ventana secundaria pero con diferentes funciones de devolución de llamada. – SztupY
@SztupY - Entonces simplemente cambie el código para hacer la misma referencia en la ventana secundaria, en un momento ajustaré la respuesta. –
Pero si el objeto principal abre varias ventanas, ¿cómo podría saber cada una de las funciones a llamar? Todos llamarán a la última función establecida. – SztupY