Disquisizione puramente teorica:
date le due pagine (madre.htm e figlia.htm):
codice:
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function ciao() {
alert(document.getElementById('uno').innerHTML);
}
function pop() {
pop_id = window.open('figlia.htm', 'pop', 'toolbar=no, menubar=no, scrollbars=yes, resizable=yes, width=300, height=400');
// è buona educazione ripristinare il focus sul pop aperto,
// perché potrebbe essere già aperto e l'utente non vedrebbe l'effetto del click sul link:
pop_id.focus();
}
//-->
</script>
</head>
<body>
<div id="uno">Io sono l'inner HTML!!!</div>
funzione ciao
funzione pop
</body>
</html>
codice:
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function ciao_madre() {
opener.window.ciao();
}
//-->
</script>
</head>
<body>
funzione nella finestra madre
</body>
</html>
Se è vero che la proprietà opener dell'oggetto window individua la finestra madre che apre il popup, perché l'istruzione opener.ciao() non accede alla funzione della pagina madre ma si rende necessario scrivere opener.window.ciao() ??